Logscale
A scale is a component, like the frame and the position. Band or linear can be read off the data; a LOG axis cannot, because nothing in the numbers says you want one. It is a choice about what you are showing, so you name it. What it buys, side by side below: on a linear axis six years of growth are one spike and five points squashed on the floor. On a log axis equal RATIOS take equal space, so steady multiplication reads as a straight line - and you can see the growth rate change. A log axis has no zero and no negatives. There is no point on it for them, so they are refused rather than clamped into a lie.
Result
Source examples/logscale.svgn
<diagram>
<!-- A scale is a component, like the frame and the position. Band or linear
can be read off the data; a LOG axis cannot, because nothing in the
numbers says you want one. It is a choice about what you are showing, so
you name it.
What it buys, side by side below: on a linear axis six years of growth
are one spike and five points squashed on the floor. On a log axis equal
RATIOS take equal space, so steady multiplication reads as a straight
line - and you can see the growth rate change.
A log axis has no zero and no negatives. There is no point on it for
them, so they are refused rather than clamped into a lie. -->
<data name="downloads">
<record year="2020" n="120"/>
<record year="2021" n="900"/>
<record year="2022" n="4200"/>
<record year="2023" n="31000"/>
<record year="2024" n="185000"/>
<record year="2025" n="920000"/>
</data>
<row gap="30" align="start">
<plot data="downloads" width="300" height="210" y-title="downloads">
<line x="year" y="n"/>
<points x="year" y="n"/>
</plot>
<plot data="downloads" width="300" height="210" y-scale="log" y-title="downloads">
<line x="year" y="n"/>
<points x="year" y="n"/>
</plot>
</row>
</diagram>