python - Plotly:将图例添加到子图
问题描述
我正在使用 python 和 plotly,我正在尝试为我的每个子图添加一个图例。哪个不起作用...
当我运行以下代码时,
import plotly
import numpy as np
fig = plotly.subplots.make_subplots(rows=2, cols=1)
y = np.arange(0,10,1)
fig.add_trace(go.Scatter(y=y,name="name1"), row=1,col=1)
fig.add_trace(go.Scatter(y=y**2,name="name2"), row=1,col=1)
fig.add_trace(go.Scatter(y=y,name="name3"), row=2,col=1)
fig.add_trace(go.Scatter(y=y**2,name="name4"), row=2,col=1)
fig.show()
这就是我得到的:
但我想要这样的东西:
任何想法?
谢谢!
解决方案
当我查看它时,每个子图的图例似乎与此信息相对应。您建议将注释作为替代方案,因此我将它们添加到您的代码中。
import plotly.graph_objects as go
from plotly.subplots import make_subplots
import numpy as np
fig = plotly.subplots.make_subplots(rows=2, cols=1)
y = np.arange(0,10,1)
fig.add_trace(go.Scatter(y=y,name="name1"), row=1,col=1)
fig.add_trace(go.Scatter(y=y**2,name="name2"), row=1,col=1)
fig.add_trace(go.Scatter(y=y,name="name3"), row=2,col=1)
fig.add_trace(go.Scatter(y=y**2,name="name4"), row=2,col=1)
for row in [1,2]:
if row == 1:
fig.add_annotation(dict(x=1.0, y=0.7, xref="paper", yref="paper",
text='name %d' %row, showarrow=False))
fig.add_annotation(dict(x=1.0, y=1.0, xref="paper", yref="paper",
text='name %d' %(row+1), showarrow=False))
else:
fig.add_annotation(dict(x=1.0, y=0.05, xref="paper", yref="paper",
text='name %d' %(row+1), showarrow=False))
fig.add_annotation(dict(x=1.0, y=0.4, xref="paper", yref="paper",
text='name %d' %(row+2), showarrow=False))
fig.show()
推荐阅读
- android - 工具栏和 appbarLayout 与透明导航栏一起使用时的问题
- wpf - 使用多个 gridsplitters 和不同大小调整大小问题
- ionic-framework - Ionic 4:离子服务在每个页面上重新加载应用程序
- javascript - 硒元素不可交互
- time-series - 时间序列查询 Druid 中维度的返回值
- python - 如何删除旧的 Anaconda 路径以使用 Miniconda
- docker - Dockerfile RUN 命令从字符串中省略以“$”开头的字符
- postgresql - Postgres GIN 索引性能分解
- java - 使用 Gmail API 从列表中获取消息的 ID,以便以后在自动化中使用
- javascript - 使用 Vuex getter 进行 Vuetify Select