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

Posted

技术标签:

【中文标题】获取绘图图形的宽度和高度【英文标题】:Get width and height of plotly figure 【发布时间】:2022-01-15 19:17:39 【问题描述】:

例如如果我写

import plotly.express as px

df = px.data.tips()
fig = px.scatter(df, x="total_bill", y="tip", facet_col="sex")

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

如果我这样做

fig.layout.width

然后我得到None

【问题讨论】:

【参考方案1】:

这是获取width的正确方法。

fig.layout.widthNone,因为尚未设置宽度。

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

fig = px.scatter(df, x="total_bill", y="tip", facet_col="sex", width=200)
>>> fig.layout.width
200

If not set explicitly the width is initialised when executing the show method based on defaults defined by plotly.js.

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

参数 ... width (int or float) -- 一个整数或浮点数,用于确定绘图宽度的像素数。默认设置在 plotly.js 中。 ...

如果我们查看plotly.js 文档,我们会看到default width is 700 和default height is 450

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

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

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

【讨论】:

以上是关于获取绘图图形的宽度和高度的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 RStudio 中 PerformanceAnalytics 包生成的绘图的大小(宽度和高度)?

有人可以向我解释一起使用的 Math.random() 和宽度/高度吗?

如何在情节主题中设置宽度和高度?

R语言绘图边框

C#如何消除绘制图形缩放时抖动,总结

PyQtGraph:如何更改 ScrollArea 中图形的大小(高度和宽度)