Как сгруппировать имена трасс, похожие на legendgroup? - PullRequest
0 голосов
/ 27 мая 2019

Я создал заполненный график с сгруппированными легендами. Две из легенд - это минимальные и максимальные значения, перечисленные в каждом столбце «Мин» и «Макс». Мне также нужно сгруппировать эти значения в hoverinfo, по логике это будет сделано аналогично legendgroup, но я не могу найти ответ где-либо, и при поиске я вижу только очень простые примеры hoverinfo в собственной документации plotly. Так, например, для x = 1960, минимальные и максимальные значения y должны быть перечислены в hoverinfo как Min - Max: -0.24 - -0.19

Диаграмма:

https://plot.ly/~marialaustsen/2/pip-install-plotly-upgrade/#/

import pandas as pd

gmst_data = pd.read_csv('datasets/gmst.csv')
gmst_data


Year    Observations    Min Max Hincast Spread  ProbYear    ProbMonth
0   1960    -0.125028   -0.240861   -0.193750   -0.218470   -0.206202   0.0 0.0
1   1961    -0.133225   -0.206640   -0.134963   -0.199956   -0.194245   0.0 0.0
2   1962    -0.197759   -0.241336   -0.126120   -0.162079   -0.139568   0.0 0.0
3   1963    -0.331219   -0.317699   -0.181005   -0.227539   -0.202399   0.0 0.0
4   1964    -0.373632   -0.430987   -0.275372   -0.301794   -0.279481   0.0 0.0
5   1965    -0.226318   -0.280676   -0.136730   -0.267406   -0.214237   0.0 0.0
6   1966    -0.255212   -0.247974   -0.169003   -0.236345   -0.185526   0.0 0.0
7   1967    -0.257971   -0.275319   -0.181620   -0.242314   -0.193000   0.0 0.0
8   1968    -0.081026   -0.140823   -0.084356   -0.114128   -0.085527   0.0 0.0
9   1969    -0.173978   -0.251267   -0.114922   -0.205240   -0.184157   0.0 0.0
10  1970    -0.281273   -0.282577   -0.148437   -0.266685   -0.253780   0.0 0.0



trace1 = go.Scatter(
x = gmst_data['Year'],
y = gmst_data['Min'],
name = '',
legendgroup = 'minmax',    
fill='tonextx',
fillcolor = 'rgba(255, 255, 255, 0.0)',
mode= 'none',   
showlegend = False 
)

trace2 = go.Scatter(
x = gmst_data['Year'],
y = gmst_data['Max'],
name = 'Min - Max',
legendgroup = 'minmax',     
fill='tonexty',
fillcolor = '#2b908f',
mode= 'none' 

)

trace0 = go.Scatter(
x = gmst_data['Year'],
y = gmst_data['Observations'],
name = 'Observations',
mode = 'markers',
line = dict(
      color = '#79ea61'
    )  

)

trace3 = go.Scatter(
x = gmst_data['Year'],
y = gmst_data['Hincast'],
name = '',
legendgroup = 'hincastspread',
fill='tonextx',
fillcolor = 'rgba(255, 255, 255, 0.0)',
mode = 'none',
showlegend = False      

)

trace4 = go.Scatter(
x = gmst_data['Year'],
y = gmst_data['Spread'],
name = 'Hincast - Spread',
legendgroup = 'hincastspread',     
fill='tonexty',
fillcolor = '#F09448',
mode = 'none'    

)

data = [trace0, trace1, trace2, trace3, trace4]
layout = dict(title = 'Global mean surface Temperature',
              xaxis = dict(title = 'Year'),
              yaxis = dict(title = 'Temperature', hoverformat = '.2f'),
              )


fig = dict(data=data, layout=layout)

offline.iplot(fig)


...