Переместить метки радиальных тиков на полярный график в matplotlib

Из примеров matplotlib:

import numpy as np
import seaborn as sbs
import matplotlib.pyplot as plt

r = np.arange(0, 3.0, 0.01)
theta = 2 * np.pi * r

ax = plt.subplot(111, polar=True)
ax.plot(theta, r, color='r', linewidth=3)
ax.set_rmax(2.0)
ax.grid(True)

ax.set_title("A line plot on a polar axis", va='bottom')
plt.show()

полярный сюжет

Как переместить метки радиальных отметок (0,5, 1,0, 1,5, 2,0) под другим углом, скажем, 120 градусов?

2 ответа

Решение

В версии 1.4 или новее вы можете использовать "set_rlabel_position". например, чтобы разместить радиальные отметки на длинной линии, скажем, 135 градусов:

ax.set_rlabel_position(135)

Соответствующая документация находится здесь, немного скрытая под "проекциями".

Добавляем строку выше yields (у меня нет seaborn, поэтому по умолчанию используется форматирование matplotlib):

Пример полярной оси тикает при 135 градусах

До 1.4, ax.set_rgrids может принять угловой аргумент.

Я попытался запустить пример кода с правкой из ответа @alkamid, но в итоге закончился с ошибкой

AttributeError: 'PolarAxesSubplot' object has no attribute 'set_rlabel_position'

Моя версия matplotlib 1.3.1. Тем не менее, я нашел этот ответ python matplolib полярная диаграмма положение оси X со следующей строкой кода:

ax.set_rgrids([5,10], angle=22)

Это сработало для меня и дало желаемый результат.

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