# BarChart with ScalingFunctions -> “Log”, Fixed axis

I want to make an animated BarChart. In this I want to plot different tables which range from $10^{-60}$ to $1$.

For example:

{0.1,0.2,10^-3,10^-16,0.01,10^-20}


and the next data set goes to:

{0.11,0.19,10^-2,10^-12,0.0001,10^-10}


However, I can't set the BarChart with ScalingFunctions->"Log" to only start if a number for the chart is higher than $10^{-12}$. Does anyone know a way to fix this?

P.S.: I already tried PlotRange->{10^-12,1}. Doesn't work though.

-

I'm not too sure what you mean, but you seem to want to not draw the bars if they're too short. So - just an idea - you could try drawing the bars yourself:

cef[{{xmin_, xmax_}, {ymin_, ymax_}}, y_, ___] :=
If[y > 10^-12,
Rectangle[{xmin, ymin}, {xmax, ymax}],
Rectangle[{xmin, ymin}, {xmin, ymin}] (* zero height *)]

Manipulate[
BarChart[data[[x]],
ChartLabels -> Placed[N@data[[x]], Top],
ScalingFunctions -> "Log",
ChartElementFunction -> cef],
{x, 1, 2, 1}]


Because the < 10^-12 bars are drawn with zero height (for testing), they show up as labels but can't be seen.

With a better idea of what your current code is like, more might be possible...

-