Настраиваемость 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, будет принята с благодарностью, спасибо!

0 ответов

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