Python 绘图仪的固定宽度

Python 绘图仪的固定宽度,python,plotly,Python,Plotly,我正在设置绘图的宽度和高度 图更新_布局(宽度=500,高度=500) 不幸的是,这会根据标签的宽度产生不同大小的绘图,如下所示 然而,我没有找到一种方法来制作同样大小的地块 fig.add_跟踪(go.Scatter(…)) add_trace和go.Scatter都不允许设置宽度。有没有我可以忽略的方法 MVE: 解决方法是在布局中指定绘图范围内的位置,如下所示: fig.update_layout(legend=dict( yanchor="bottom"

我正在设置绘图的宽度和高度

图更新_布局(宽度=500,高度=500)
不幸的是,这会根据标签的宽度产生不同大小的绘图,如下所示

然而,我没有找到一种方法来制作同样大小的地块

fig.add_跟踪(go.Scatter(…))
add_trace
go.Scatter
都不允许设置宽度。有没有我可以忽略的方法

MVE:


解决方法是在布局中指定绘图范围内的位置,如下所示:

fig.update_layout(legend=dict( 
    yanchor="bottom", 
    y=0.8, 
    xanchor="right", 
    x=1 
    ))
其中y从0.8开始

通过这段完整的代码,我得到了如下图像:

import numpy as np
import pandas as pd
import plotly.graph_objects as go 
from plotly.subplots import make_subplots     

df = pd.DataFrame({
     'x':np.arange(1,10), 
     'y':np.array([1,2,4,8,16,32,64,128,256]),
     'y2':np.random.randint(0,100,9)
     })

fig1 = go.Figure() 
fig1.add_trace(go.Scatter(x=df['x'], y=df['y2'], name='short_legend')) 
fig1.add_trace(go.Scatter(x=df['x'], y=df['y'], name='short_legend_B')) 
fig1.update_layout(width=500, height=500) 


fig2 = go.Figure() 
fig2.add_trace(go.Scatter(x=df['x'], y=df['y2'], name='loooooooooooooooooong_legend')) 
fig2.add_trace(go.Scatter(x=df['x'], y=df['y'], name='loooooolololololololoong_legend_B')) 
fig2.update_layout(width=500, height=500)

第一行没有如上所述更新布局。下面正在更新布局。

您是如何制作子地块的?你能分享更多的代码吗?@aerijman添加了一些代码。但我不使用子图,我手动将它们放在一起进行比较。好主意。或者在图表的底部添加图例,这样数据就不被覆盖了。我在顶部尝试了,但是数据被覆盖了。。。我想知道你是否通过编程设置了比例,以允许额外的空间。。。也许有帮助。。。
import numpy as np
import pandas as pd
import plotly.graph_objects as go 
from plotly.subplots import make_subplots     

df = pd.DataFrame({
     'x':np.arange(1,10), 
     'y':np.array([1,2,4,8,16,32,64,128,256]),
     'y2':np.random.randint(0,100,9)
     })

fig1 = go.Figure() 
fig1.add_trace(go.Scatter(x=df['x'], y=df['y2'], name='short_legend')) 
fig1.add_trace(go.Scatter(x=df['x'], y=df['y'], name='short_legend_B')) 
fig1.update_layout(width=500, height=500) 


fig2 = go.Figure() 
fig2.add_trace(go.Scatter(x=df['x'], y=df['y2'], name='loooooooooooooooooong_legend')) 
fig2.add_trace(go.Scatter(x=df['x'], y=df['y'], name='loooooolololololololoong_legend_B')) 
fig2.update_layout(width=500, height=500)