Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Why is the scaling function being applied to the wrong axis? Here, the log ticks are on the Y axis, but they should be on the X axis:

BarChart[{0.1, 1, 10, 100}, ChartElementFunction -> "GlassRectangle", 
 ChartStyle -> 45, ScalingFunctions -> "Log", BarOrigin -> Left, 
 Frame -> True]
share|improve this question
    
It looks like ScalingFunctions is affected by Frame -> True (possible bug). If you remove Frame -> True, then the log ticks are applied to the x axis as expected. –  rm -rf Oct 17 '12 at 18:03
    
@rm-rf That qualifies as a good answer! –  belisarius Oct 17 '12 at 18:35
add comment

1 Answer

up vote 4 down vote accepted

I think this is a bug in how ScalingFunctions works. It is affected by the Frame -> True option, and if you remove it, then the scaling is applied correctly to the x-axis.

BarChart[{0.1, 1, 10, 100}, ChartElementFunction -> "GlassRectangle", 
    ChartStyle -> 45, ScalingFunctions -> "Log", BarOrigin -> Left]

Attempts to reintroduce the frame using Show[..., Frame -> True] also fail, so if you need the frame, you might have to roll your own.

share|improve this answer
    
So how would we report this? Are there wolfram experts who would fix it here? –  Tom Wellington Oct 17 '12 at 19:05
    
I'll dig into this later today (it might not entirely be a bug). ScalingFunctions -> "Log" applies it to both axes (you can easily hide the y-ticks). In fact, the x-axis is transformed too... the values you see are Log@ of your values. It's just not displayed in a convenient way. If you want log to the base 10, you can use the undocumented ScalingFunctions -> "Log10" and the x-ticks are correctly displayed from -1 to 2. The trick is then to get it to display as 10^x. There are several ad-hoc ways of doing it, but I'm trying to see if it can be done within the function itself. –  rm -rf Oct 17 '12 at 19:07
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.