# What's the SmoothHistogram analogue of Histogram[…, BarOrigin -> Left, …]?

By default, Mathematica plots follow the universal convention of making the abscissa (aka x) horizontal and the ordinate (aka y) vertical.

Some plot types, however, allow one to specify a different convention. For example, the following produces a histogram with a vertical abscissa and a horizontal ordinate:

Histogram[
BlockRandom[SeedRandom[0];
RandomVariate[NormalDistribution[0, 1], 1000]],
BarOrigin -> Left]


BarOrigin, however, is not a valid SmoothHistogram option.

What is the SmoothHistogram analogue of the Histogram expression above?

(I am primarily interested in solutions that do not involve rasterizing the plot and rotating the resulting image.)

More generally, how does one plot a function such that the abscissa increases, say, in the upwards vertical direction, and the ordinate increases, say, from left to right?

• If no such analogue option exists, a possible workaround is to use SmoothKernelDistribution: z = RandomVariate[NormalDistribution[0, 1], 100]; pdf = Table[PDF[SmoothKernelDistribution[z], x], {x, -4, 4, 0.01}]; ListPlot[Transpose[{pdf, Table[x, {x, -4, 4, 0.01}]}], Joined -> True]. – JimB May 11 '17 at 15:15
• ...or, use ParametricPlot[]. – J. M. will be back soon May 11 '17 at 15:18

Perhaps you can use SmoothKernelDistribution and ContourPlot. First the distribution:

dist = SmoothKernelDistribution @ BlockRandom[
SeedRandom[0];
RandomVariate[NormalDistribution[0,1],1000]
];


Then, use ContourPlot to visualize:

ContourPlot[PDF[dist, y] == x, {x, 0, .5}, {y, -3.5, 5}, Frame->False, Axes->True]


You can also post-process SmoothHistogram output using ReflectionTransform:

reflectF = Graphics[#[[1]] /. ll : (_Line | _Polygon) :>
GeometricTransformation[ll, ReflectionTransform[{1, -1}]],
Axes -> True, AspectRatio -> GoldenRatio] &;

SmoothHistogram[BlockRandom[SeedRandom[0];
RandomVariate[NormalDistribution[0, 1], {3, 1000}]],
PlotStyle -> Thick, Filling -> Bottom] // reflectF