matplotlib set_rmax и set_rticks не работают

Я использую python3 в записной книжке Anaconda Jupyter и строю графики в полярных координатах. Я хочу, чтобы у всех графиков были одинаковые rmax и rticks, но когда я их установил, они не применяются и точки не отображаются правильно. Вот мой код, а потом и с ними.

%pylab inline
X = asarray([[0.23, 0.73],[0.22, 1.16],[0.18, 1.86],[0.17, 2.39],[0.24, 2.74],[0.16, 3.43],[0.16, 3.87],[0.13, 4.39],[0.14, 5.00],[0.17, 5.53]])

ax0 = subplot(111, projection='polar')
ax0.plot(X[:,1], X[:,0], 'r+')
show()

ax1 = subplot(111, projection='polar')
ax1.set_rmax(0.8)
ax1.set_rticks([0.2, 0.4, 0.6, 0.8])
ax1.plot(X[:,1], X[:,0], 'r+')
show()

Вот сюжеты.

1 ответ

Решение

Проблема в том, что вы сначала устанавливаете rmax а затем построение вашей полярной карты. Поэтому, когда вы строите график, пределы автоматически корректируются и ваш набор rmax а также rticks перезаписаны

Решение состоит в том, чтобы сначала построить, а затем установить rmax а также rticks как показано ниже.

ax1 = plt.subplot(111, projection='polar')
ax1.plot(X[:,1], X[:,0], 'r+')
ax1.set_rmax(0.8)
ax1.set_rticks([0.2, 0.4, 0.6, 0.8])

https://s tackru.com/image s/d805e8075d9edc7d22242e3c811f2245b762271a.png

Другие вопросы по тегам