### Improving the Y-Axis on Log Scaling

With the introduction of derivative charts, the new code for log scaling on some graphs (particularly those with large values, like a graph of cumulative deaths) left a lot of whitespace at the bottom of the graph due to x-intercept of the y-axis was “fixed” at starting at 0.001.

Log scales are tricky as they are undefined at 0, so you are unable to start the y-axis labeling as 0 and visualizations are forced to choose a non-zero value. (This differs from a linear scale, where best practices dictate that – unless it’s both obvious to the reader and for a clear reason – an honest visualization will always start with the y-axis at zero.) With today’s update, I’ve implemented new code to calculate the starting value (x-intercept) for the log scales.

In general, the scale for all log graphs will start at the 10^{x} power such that 10^{x} is lower than the lowest positive data point, with two exceptions:

- The lowest value for
`x`

is -3 (or 0.001), even if data values are smaller than 0.001 (ex: less than 0.001 cases /100k). These points, will be displayed as a data point below the x-axis (slightly outside of the graph region).
- If the graph spans over 5 orders of magnitude,
`x`

is increased (up to a maximum of `x=0`

or 1) to attempt to show 5 orders of magnitude. Since `x`

is capped at `x=0`

, graphs with large values may still show many more orders of magnitude.