Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Plotly:将图例添加到子地块_Python_Plotly_Legend_Subplot - Fatal编程技术网

Python Plotly:将图例添加到子地块

Python Plotly:将图例添加到子地块,python,plotly,legend,subplot,Python,Plotly,Legend,Subplot,我正在使用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.

我正在使用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()

这确实是一个聪明的方法。但是,图例不可能完全显示在子地块中?正如我所评论的,此时您似乎无法将图例添加到子地块,因为它已在plotly社区中交换。