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。
这才是正确的获取方式width。
fig.layout.width是None因为宽度还没有设置。
如果您明确设置它,您可以检索它
\nfig = px.scatter(df, x="total_bill", y="tip", facet_col="sex", width=200)\n>>> fig.layout.width\n200\nRun Code Online (Sandbox Code Playgroud)\nshow如果未显式设置,则在执行基于 定义的默认值的方法时会初始化宽度plotly.js。
\n\nshow(*args, **kwargs)\n使用默认渲染器或渲染器参数指定的渲染器显示图窗
\n参数
\n
\n...
\nwidth (整数或浮点数) \xe2\x80\x93 确定绘图像素宽度的整数或浮点数。默认值在plotly.js 中设置。
\n...
如果我们查看plotly.js文档,我们会看到默认值width是700,默认值height是450。
如果您进行设置,fig.layout.autosize = False您可以看到这些默认值是正确的。否则,width和height会在每次重新布局时重新初始化。
\n\nautosize:确定是否在每次重新布局时初始化用户未定义的布局宽度或高度。请注意,无论此属性如何,未定义的布局宽度或高度始终在第一次调用绘图时初始化。
\n
https://plotly.com/javascript/reference/layout/#layout-autosize
\n