Python 显示带有一条直线的折线图的图表标签

Python 显示带有一条直线的折线图的图表标签,python,pandas,charts,plotly,Python,Pandas,Charts,Plotly,我正在尝试用一条线显示一个折线图,我希望该图表能够以与多条线相同的方式显示该线的标签/图例 下面是一个简单的例子: 带标签的图表 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.Ra

我正在尝试用一条线显示一个折线图,我希望该图表能够以与多条线相同的方式显示该线的标签/图例

下面是一个简单的例子:

带标签的图表

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()
这将产生以下图表:

我的问题是,我希望在图例中显示相同类型的标签,即使只有一行

如果我重新创建相同的图表,但只有一行,我将得到以下结果:

无标签图表

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()

我试过了,但对我不起作用。我将把它添加到问题中加以澄清。是的,它对我有效,我更新了我的帖子。这就是你想要的吗?这能回答你的问题吗?