我正在尝试显示只有一行的折线图,并且我希望该图表能够显示该行的标签/图例,就像有多行一样。
这是一个简单的示例:
带标签的图表
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”显示在右侧图例上?
最佳答案
试试这个
fig = go.Figure()
fig.add_trace(go.Scatter(x=df.index, y=df[df.value == 'A']['data'], name='Label 1'))
fig.update_layout(showlegend=True)
fig.show()
关于python - 在 Plotly 中显示带一条线的折线图的图表标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63675231/