在双 y 图中拉伸图形大小 [重复]

Posted

技术标签:

【中文标题】在双 y 图中拉伸图形大小 [重复]【英文标题】:Stretching figure size in a double-y plot [duplicate] 【发布时间】:2019-01-14 13:19:56 【问题描述】:

我正在尝试学习如何在显示 (plt.show()) 和保存 (plt.savefig) 时拉伸绘图的宽度。

更准确地说,该图有两个 y 轴,我写如下:

fig , ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.plot(x,y)
ax2.plot(x,y2)
plt.show()

现在的问题是,我如何指定绘图的大小,例如,我们如何拉伸宽度/高度? 当使用plt.show() 并出现绘图时,我可以手动取一个角并根据需要调整框的大小,但手动自定义的大小不会被保存。

【问题讨论】:

【参考方案1】:

您可以使用figsize=(width, height)设置图形大小比例

import matplotlib.pyplot as plt

x = [1, 2, 3]           # dummy data
y = [4, 5, 6]
y2 = [16, 25, 36]

fig , ax1 = plt.subplots(figsize=(7, 2))   # <-- aspect wider than high
ax2 = ax1.twinx()
ax1.plot(x,y)
ax2.plot(x,y2)
plt.show()

【讨论】:

太棒了!为了不使用单位规格(英寸,厘米......),有没有办法简单地将当前宽度乘以一个数字,比如 4?换句话说,给定默认的 figsize 值,我们只想将它们放大或缩小某个因子。 嗯,不确定;这个比率大约是 1.7 比 1,也许你可以使用它的倍数?

以上是关于在双 y 图中拉伸图形大小 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何更改绘图图中的字体大小[重复]

如何在一个图中构建两个图,模块 Matplotlib [重复]

使用CSS设置背景图像大小而不拉伸[重复]

CSS Grid将高度和宽度拉伸到容器[重复]

Flex项目正在拉伸[重复]

如何确保图像不会水平或垂直拉伸[重复]