【问题标题】:Displaying A Chart Label For Line Chart w/ One Line in Plotly在 Plotly 中显示带有一条线的折线图的图表标签
【发布时间】: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”出现在右侧的图例中?

【问题讨论】:

标签: python pandas charts plotly


【解决方案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()

【讨论】:

  • 已经尝试过了,但它对我不起作用。我会将其添加到问题中以澄清。
  • 是的,它对我有用,我更新了我的帖子。这是你想要的吗?
猜你喜欢
  • 2020-05-15
  • 1970-01-01
  • 2017-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多