python - 在 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.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”出现在右侧的图例上?
解决方案
推荐阅读
- r - 如何解释这条不从零开始的 ROC AUC 曲线
- java - JMockit 模拟铸造
- python - 如何使用 tkinter 在我的 python 脚本中调用 tcl 命令?
- c# - 在 c# 中检查是否存在带有 json 响应正文的属性值
- linux - 每次集群启动时运行 SQL
- reinforcement-learning - 双深度 Q 学习中的 Q 值过冲
- leaflet - 使用传单在屏幕上有多个地图,想将其修复为单个
- laravel - 无法打开流或文件“/Applications/XAMPP/xamppfiles/htdocs/apcjobs/storage/logs/laravel-2020-06-06.log”:
- java - 为什么我的自定义 JPanel 没有被绘制/重新绘制,即使我正在从事件队列中绘制并覆盖 paintComponent()?
- flutter - 使用 Flutter 将图像拖到另一个图像之上