I want to draw some circular axes to plot the artwork for an old-fashioned circular slide rule. In almost every example, polar plots have an angular axis of degrees or radians. I found one example of changing the labels to be like a clock (1 - 12), but I couldn’t see how to extend that technique to logarithmic scales.
I can draw the desired axis in a linear manner, as I see examples of making a logarithmic radial axis. But I can’t find a way to apply log scales to the angular theta axis.
A somewhat related issue, how can you use matplotlib to draw a single axis (e.g., no data, axis only)? This could be helpful for making nomographs, for example. In my use case, if I can’t plot the circular log scale directly, I could perhaps post-process a linear log scale into a circle — maybe.
Here is an old circular slide rule as an example. I’d like to make scales such as C or D (one complete log cycle in 360 degrees), A (two cycles) and K (three cycles).


np.linspace(0, 2pi, 24)inax.set_xticks(). If you want some kind of logarithmic scaling, you should opt for some logarithmic mapping that maps your tick points between 0 and 2pi instead of anp.linspace