Types are provided by chartist, which is very convenient.
Smooth, responsive transition between bar widths can only be done partly with media queries. There may be a specific plugin for this use case.
Swapping of x and y-axis is doable relatively easy by changing two properties. However, label alignment and formatting have to be adjusted manually to fit without cluttering.
Chart titles cannot be added to generated SVGs themselves, but have to be inserted in the DOM.
Axis titles cannot be generated by themselves. However, a plugin for axis titles exists. The documentation of how to use plugins with the most recent version of chartist is not released yet.