我正在设置我的 plotly 的宽度和高度
fig.update_layout(width=500, height=500)
不幸的是,这会产生不同大小的图,具体取决于标签的宽度,如下所示。但是,我没有找到一种方法来生成相同大小的图。
fig.add_trace(go.Scatter(...))
都没有 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'))
最佳答案
解决方法是在布局中指定绘图范围内的位置,如下所示:
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)
第一行没有更新上面提到的布局。下面是更新布局。
关于python - 图的固定宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63538789/