Issue 87592

Summary: Logarithmic axis intervals are non-standard
Product: General Reporter: tode <openoffice>
Component: chartAssignee: AOO issues mailing list <issues>
Status: CONFIRMED --- QA Contact:
Severity: Trivial    
Priority: P3 CC: issues
Version: 3.3.0 or older (OOo)   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Issue Type: ENHANCEMENT Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
Demo of logarithmic axis problem: non-standard intervals none

Description tode 2008-03-29 17:41:21 UTC
When a logarithmic axis is selected, the intervals do not follow standard
behaviour for log charts (equal numeric intervals) but have equal physical
spacing, hence very numeric values with a large number of significant figures
such as 0.1585...  
Standard behaviour (for example search for log graph paper in Google Images) is
to have equal numeric intervals in each decade.  For example, between 1 and 10
the interval would be 1, between 10 and 100 it would be 10 and so on.  This
means that the intervals should not be equally spaced on the screen or paper.
Also if automatic intervals are selected, there are no intervals shown within
one decade.  This gives very limited usability - the graph is useful only if no
gridlines or intervals are required, or if it spans many decades.
Comment 1 tode 2008-03-29 17:43:47 UTC
Created attachment 52362 [details]
Demo of logarithmic axis problem: non-standard intervals
Comment 2 Regina Henschel 2008-03-29 19:24:53 UTC
Yes, logarithmic scaling is tricky.

The major grid lines are calculated this way:
It starts with the value of "Minimum".
Then a factor is calculated by   factor=10^"Major interval"
Next upper major grid line   =   previous grid line  * factor

Example: You want to have grids at 0.2  0.4  0.8  1.6  and so on
Set "Minimum" to 0.2
Set "Major interval" to 0.301029995 which is lg2. That gives a factor 2.

"Maximum" determines where the axis is cut, and "Axis at" draws an additional
line for an axis besides the grid.
Comment 3 tode 2008-03-29 20:48:24 UTC
Regina,
Thanks for your explanation.  But, sorry, this is not how log graphs are
*normally* done.  Google on "using log graph paper" and see the examples.  All
the ones I found have intervals at equal numerical value.  Also see log-lin or
log-log graph paper from any educational supplier.  Maybe some people would want
it with a constant factor, but OOo should still support the way of doing things
that has been normal practice for at least 50 years that I know of, probably a
lot longer.

Anyway in this case the "interval" box is mislabelled.  To make any sense of it
for the user, it should be labelled "first interval", and one should enter the
expected value  to appear (e.g. 2.0).  If a logarithm has to be calculated, the
program should do it not the user.  That would ensure that the log is calculated
to the necessary precision.  But I still think this is the wrong way to do it.

MS Excel has never got log graphs properly right (although it doesn't have this
particular problem).  If OOo can do them properly it will be a "selling point"
(if that is the right phrase for a free product) and a real benefit.  One should
not have to open a maths program just to have graphs formatted in the normal way.
Comment 4 Regina Henschel 2008-03-29 22:22:42 UTC
Enable minor grid (Insert > Grid) and set the minor interval to 9 to get the
"usual" grid.

There are still problems. See issue 74509 and issue 84589 for example.

The spec (http://specs.openoffice.org/chart/Chart_Scales_and_Intervals.odt) does
not specify the minor grid in detail.

I know, that the dialog needs improvement. Therefore I did not close this issue
as "worksforeme". You can help getting a better dialog, if you write a spec (or
a part of it) and discuss the draft in a mailing list.
(http://wiki.services.openoffice.org/wiki/Specification)  
Comment 5 tode 2008-03-29 23:34:28 UTC
Thanks Regina. Just a few more points:
1.  The scale works as you say when the range is 0.2 to 2.0 but not (for
example) when the range is 0.1 to 1.0. 
2.  Thanks for useful comments on setting minor divisions.  However this does
not fully solve the problem, as the minor scale markings do not have numbers
against them.  Also, the legend on the entry box is wrong, as the value entered
is not treated as "interval" but "number of intervals".
3.  When scale markings are set using a value such as you suggest, and the range
is 0.1 to 1.0, there is no number against the minimum value.  

I see that there is quite a lot to get sorted so I will follow your suggestion
and look at the Wiki etc. in a couple of weeks when I will have time to do it.
Comment 6 kla 2008-04-09 09:09:25 UTC
As regina has written "I know, that the dialog needs improvement" maybe we
should cover the idea.