# What would the HR diagram look like if the axes were scaled linearly instead of logarithmically?

The Hertzsprung-Russell diagram typically has its axes scaled logarithmically, and with good reason. The hottest stars are about 20 times as hot as the coldest ones (at least at the surface), and the brightest stars are millions of times more luminous than the dimmest ones. With temperature and luminosity among stars having such wide ranges, logarithmic axes are the best way to show all the different star bands on the same chart. What would this look like if the temperature and luminosity axes were scaled linearly?

• If someone can find a coded version of the HR diagram (e.g. SVG, LaTeX, Python...) then they could make a wonderful answer by un-logging it.
– uhoh
Aug 22, 2021 at 23:59
• Definitely. I'm hoping an answer will come with exactly that. Aug 23, 2021 at 0:44
• This is quite "general" and not related to HR diagrams only. Tough in cases linear and semilog diagrams are both useful. Aug 23, 2021 at 10:01

What would the HR diagram look like if the axes were scaled linearly instead of logarithmically?

This is a partial answer: Not so good.

If things are well separated for clarity in a log-log plot, then they are going to be squished against the left side and bottom, and trends and behaviors will be hard to see in a linear plot thusly:

import numpy as np
import matplotlib.pyplot as plt

x, y = -6 * np.random.random((2, 1000))

theta = np.linspace(0, 2*np.pi, 1025)
xc, yc = [-3 + 2.9*f(theta) for f in (np.cos, np.sin)]

fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.plot(x, y, '.')
ax1.plot(xc, yc, '-r')
ax1.plot(xc[::64], yc[::64], 'ok')
ax1.set_aspect('equal')

ax2.plot(np.exp(x), np.exp(y), '.')
ax2.plot(np.exp(xc), np.exp(yc), '-r')
ax2.plot(np.exp(xc[::64]), np.exp(yc[::64]), 'ok')
ax2.set_aspect('equal')
plt.show()