Настраиваемость Windrose по сравнению с картами радаров
Я ищу способ отображать атрибуты для человека в один год по сравнению со следующим годом в заговоре. Существует около десятка мер, но для целей этого примера я ограничу его до 6. Два варианта виз, на которые я смотрю, - это карта радара / паука и диаграмма розового ветра, однако я сталкиваюсь с проблема с параметрами макета для windrose, а именно. Для паука я могу сделать что-то вроде этого:
import plotly.graph_objs as go
from plotly.offline import plot, iplot, init_notebook_mode
t = go.Scatterpolar(
theta =['a','b','c','d','e','f'],
r = [1,2,3,4,5,6],
mode = 'lines',
fill = 'toself',
fillcolor='red',
line = dict(
color='black'),
hoverinfo='all',
name= 'Year 1',
opacity=0.5
)
t1 = go.Scatterpolar(
theta =['a','b','c','d','e','f'],
r = [2,4,6,8,10,12],
mode = 'lines',
fill = 'toself',
fillcolor='blue',
line = dict(
color='black'),
hoverinfo='all',
name= 'Year 2',
opacity=0.5
)
data=[t,t1]
layout = go.Layout(
title = 'Y1 vs Y2 Spider',
font=dict(
size=16
),
polar = dict(
radialaxis = dict(
visible = True,
range = [0,20], ticksuffix='%', tickangle=0, tickfont=dict(size=13)
),
angularaxis=dict(
nticks=6
)
))
fig = go.Figure(data=data, layout=layout)
iplot(fig, filename = "y1y2 spider.html")
Это работает без проблем и позволяет мне настроить радиальный диапазон и имена атрибутов на внешней стороне графика. Это также позволяет мне поочередно взаимодействовать с визуально, устанавливая / снимая флажки с каждой трассы по желанию, но когда я пытаюсь перенести ту же схему / подход к диаграмме "Роза ветров", я не могу выполнить многие из тех же настроек.
Мой код "Роза ветров" выглядит так:
trace1 = go.Area(
r = [1,2,3,4,5,6],
t = ['a','b','c','d','e','f'],
name= 'Year 1',
marker=dict(
color='red'
),
opacity=0.5
)
trace2 = go.Area(
r = [2,4,6,8,10,12],
t = ['a','b','c','d','e','f'],
name= 'Year 2',
marker=dict(
color='blue'
),
opacity=0.5
)
data = [trace1, trace2]
layout = go.Layout(
title = 'Y1 vs Y2 Rose',
font=dict(
size=16
),
polar = dict(
radialaxis = dict(
visible = True,
range = [0,20], ticksuffix='%', tickangle=0, tickfont=dict(size=13)
),
angularaxis=dict(
nticks=6
)
))
fig = go.Figure(data=data, layout=layout)
iplot(fig, filename='y1y2 rose.html')
Выход для этого имеет 3 непроверяемые записи в легенде (Year1, Year2 и случайный дополнительный), радиальный диапазон автоматически устанавливается (независимо от моего ввода [0,1]) и только некоторые из 6 t-значений ("a", "e", "c") отображаются в виде меток на внешней стороне графика. Любая помощь или понимание того, как сделать эти изменения полезными для Windrose, будет принята с благодарностью, спасибо!