Я пытаюсь сделать полярный сюжет с Python, в чем я до сих пор несколько преуспел.
Пример графика полярного рассеяния
У меня было несколько вопросов, по которым я надеялся получить некоторые идеи/предложения:
- возможно ли установить цвет кругов на определенное значение (например: «n» в приведенном ниже примере кода)? Если да, могу ли я установить определенные цветовые диапазоны? Например: 0-30: красный цвет, 31-40: желтый; 41-60: зеленый
Примечание. Следуя примерам из Plot с условными цветами на основе значений в R, я безуспешно пробовал ax.scatter(ra,dec,c = ifelse(n < 30,’red','green'), pch = 19 )
=(
как я могу сделать круги данных немного больше?
можно ли переместить метку "90", чтобы заголовок графика не перекрывался? Я пробовал:
x.set_rlabel_position(-22.5)
, но получаю сообщение об ошибке ("AttributeError: у объекта "PolarAxes" нет атрибута "set_rlabel_position"")Можно ли отображать только метки высот 0,30 и 60? Могут ли они быть ориентированы горизонтально (например, вдоль азимутальной линии 0)?
Большое спасибо! Ждем ваших предложений =)
import numpy
import matplotlib.pyplot as pyplot
dec = [10,20,30,40,50,60,70,80,90,80,70,60,50,40,30,20,10]
ra = [225,225,225,225,225,225,225,225,225,45,45,45,45,45,45,45,45]
n = [20,23,36,43,47,48,49,50,51,50,48,46,44,36,30,24,21]
ra = [x/180.0*3.141593 for x in ra]
fig = pyplot.figure()
ax = fig.add_axes([0.1,0.1,0.8,0.8],polar=True)
ax.set_ylim(0,90)
ax.set_yticks(numpy.arange(0,90,10))
ax.scatter(ra,dec,c ='r')
ax.set_title("Graph Title here", va='bottom')
pyplot.show()