获取绘图图形的宽度和高度

mar*_*lli 3 python plotly plotly-python

例如,如果我写

import plotly.express as px

df = px.data.tips()
fig = px.scatter(df, x="total_bill", y="tip", facet_col="sex")
Run Code Online (Sandbox Code Playgroud)

那么我怎样才能得到 的宽度和高度fig呢?

如果我做

fig.layout.width
Run Code Online (Sandbox Code Playgroud)

然后我明白了None

Bas*_*den 8

这才是正确的获取方式width

\n

fig.layout.widthNone因为宽度还没有设置。

\n

如果您明确设置它,您可以检索它

\n
fig = px.scatter(df, x="total_bill", y="tip", facet_col="sex", width=200)\n>>> fig.layout.width\n200\n
Run Code Online (Sandbox Code Playgroud)\n

show如果未显式设置,则在执行基于 定义的默认值的方法时会初始化宽度plotly.js

\n
\n

show(*args, **kwargs)\n使用默认渲染器或渲染器参数指定的渲染器显示图窗

\n

参数
\n...
\nwidth (整数或浮点数) \xe2\x80\x93 确定绘图像素宽度的整数或浮点数。默认值在plotly.js 中设置。
\n...

\n
\n

如果我们查看plotly.js文档,我们会看到默认值width700默认值height450

\n

如果您进行设置,fig.layout.autosize = False您可以看到这些默认值是正确的。否则,widthheight会在每次重新布局时重新初始化。

\n
\n

autosize:确定是否在每次重新布局时初始化用户未定义的布局宽度或高度。请注意,无论此属性如何,未定义的布局宽度或高度始终在第一次调用绘图时初始化。

\n
\n

https://plotly.com/javascript/reference/layout/#layout-autosize

\n