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.

Charts 678 × 258 <data><line><plot><points><record><row>

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>

Open the SVG →