图的固定宽度

Sci*_*tas 5 python plotly

我正在设置我的情节的宽度和高度

fig.update_layout(width=500, height=500)
Run Code Online (Sandbox Code Playgroud)

不幸的是,这会产生不同大小的图,具体取决于标签的宽度,如下所示。

在此处输入图片说明

但是,我没有找到一种方法来生成相同大小的图。

fig.add_trace(go.Scatter(...))
Run Code Online (Sandbox Code Playgroud)

add_trace不允许也go.Scatter不允许设置宽度。有没有办法让我俯瞰?

MV:

    fig = go.Figure()
    fig.update_layout(width=500, height=500)
    for i, data in enumerate(data_list):
        fig.add_trace(go.Scatter(x=data['x'], y=data['y'], name='some_label'))
Run Code Online (Sandbox Code Playgroud)

aer*_*man 3

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

fig.update_layout(legend=dict( 
    yanchor="bottom", 
    y=0.8, 
    xanchor="right", 
    x=1 
    ))
Run Code Online (Sandbox Code Playgroud)

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)
Run Code Online (Sandbox Code Playgroud)

第一行没有更新如上所述的布局。下面是更新布局。在此输入图像描述