# Histogram with a logarithmic scale for the y-axis

How can I get a histogram with a logarithmic scale only on the the y-axis?

With

data=RandomReal[NormalDistribution[0, 1], 200]

Histogram[data, {"Log", 10}, "LogCount"]


I get a log scaled histogram for both axis. I'm using mathematica 7.

-
Histogram[data, Automatic, "LogCount"] works for me (Mma 9). – MikeLimaOscar Jan 3 '14 at 15:44
Or Histogram[data, "Linear", "LogCount"] specifies linear for the x-axis and log for the y. – bill s Jan 3 '14 at 15:49
It works great, thx – Anna Jan 3 '14 at 17:53
I voted to leave this post open. @MikeLimaOscar Please post that as an answer. This question, although simple, is well written with a clear MWE and should be answered. (If it gets closed in the meantime, please ping me.) – R. M. Jan 4 '14 at 6:06
I'm not sure if this is the right place for this feedback, but it's generally advised that you should avoid using a logarithmic scale when using bars. Bars are great for encoding relative size, but only when the scale is linear, e.g. where a bar that is 2x as long encodes a value that is 2x as large. If you are wanting to use a logarithmic scale, dots or horizontal lines (e.g. where the top of the bar would be) would be a less distortive solution. – mattsoave Jun 2 '14 at 21:03

The second argument to Histogram controls the bins, the third the counts so simply use

Histogram[data, Automatic, "LogCount"]


or as suggested by @Bill use "Linear" in place of Automatic.

-

Example:

data = Flatten@{Array[1 &, 5], Array[3 &, 20], Array[2 &, 180]};

Histogram[data, ScalingFunctions -> "Log",
Ticks -> {{# + .5, #} & /@ Range[1, 3], Automatic}]


gives:

-