# 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). Jan 3, 2014 at 15:44
• Or Histogram[data, "Linear", "LogCount"] specifies linear for the x-axis and log for the y. Jan 3, 2014 at 15:49
• It works great, thx
– Anna
Jan 3, 2014 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.)
– rm -rf
Jan 4, 2014 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. Jun 2, 2014 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: