【发布时间】:2020-08-31 17:11:22
【问题描述】:
我正在尝试用一条线显示折线图,我希望该图表显示该线的标签/图例,就像有多条线一样。
这是一个简单的例子:
带标签的图表
import pandas as pd
import numpy as np
import plotly.graph_objects as go
dates = pd.date_range(start='2020-01-01', periods=100)
random = np.random.RandomState(0)
random2 = np.random.RandomState(1)
data1 = random.random(100)
data2 = random2.random(100)
a_values = ['A' for i in range(100)]
b_values = ['B' for i in range(100)]
df1 = pd.DataFrame({
'data': data1,
'value': a_values
}, index=dates)
df2 = pd.DataFrame({
'data': data2,
'value': b_values
}, index=dates)
df = pd.concat([df1, df2])
fig = go.Figure()
fig.add_trace(go.Scatter(x=df.index, y=df[df.value == 'A']['data'], name='Label 1'))
fig.add_trace(go.Scatter(x=df.index, y=df[df.value == 'B']['data'], name='Label 2'))
fig.show()
这将产生以下图表:
我的问题是,即使只有一行,我也希望相同类型的标签出现在图例中。
如果我重新创建相同的图表但只有一行,我会得到以下结果:
无标签图表
fig = go.Figure()
fig.add_trace(go.Scatter(x=df.index, y=df[df.value == 'A']['data'], name='Label 1'))
fig.show()
如何使值“标签 1”出现在右侧的图例中?
【问题讨论】:
-
这能回答你的问题吗? Plotly: How to customize legend?
标签: python pandas charts plotly