Метки оси R не отображаются на графике полярного журнала

Я делаю логарифмический полярный график в Matplotlib, и по какой-то причине после переключения на «log = True» мои тики исчезли. Вот мой код построения:

# <Matplotlib imports...>

ax = subplot(111, polar=True)
ax.set_yscale('log')
ax.set_ylim(0,.04)
plt.scatter(dra, dphys, c="red", cmap=cm.hsv)
plt.scatter(wra, wphys, cmap=cm.hsv)
ax.set_xticklabels(['0','3','6','9','12','15','18','21'])
ax.set_yticklabels(['1','5','10','30','100','1000','10000'])

show()

Как вы можете видеть в этой последней строке, это те галочки, которые я хотел бы показать на ней. Как я могу заставить это работать?

Изображение сюжета


person uhurulol    schedule 26.12.2016    source источник


Ответы (1)


Установите логарифмическую шкалу после графика и используйте xticks.

from matplotlib.pylab import *

r = np.arange(0., 10000., .01)
phi = 5. * np.pi * r

ax = subplot(111, polar=True)
ax.plot(phi, r, color='r', linewidth=1.5)
ax.set_xticklabels(['0','3','6','9','12','15','18','21'])
ax.set_yscale('log')
ax.set_yticks([1,5,10,30,100,1000,10000])
ax.set_rlabel_position(60)
show()

введите здесь описание изображения

person Serenity    schedule 26.12.2016
comment
Спасибо! Это помогло. Быстрые вопросы: во-первых, у меня не работает строка set_rlabel_position ('PolarAxesSubplot' object has no attribute 'set_ylabel_position'). Кроме того, есть ли способ сделать метку больше/жирнее? У меня много точек нарисовано, и это очень трудно читать. - person uhurulol; 26.12.2016