如何在Matplotlib中拉伸/缩放图形尺寸
在Matplotlib中拉伸现有图形尺寸的方法
要实现将现有图形宽度加倍、高度保持不变的需求,你可以通过获取当前图形尺寸后动态修改的方式实现,无需预先指定固定的figsize参数。具体操作如下:
- 获取当前Figure对象:用
plt.gcf()(Get Current Figure)获取当前活跃的图形对象;如果是面向对象编程模式,直接使用你创建的fig变量即可。 - 获取当前尺寸:调用
fig.get_size_inches()方法,该方法返回包含宽度和高度的元组(单位为英寸)。 - 修改尺寸:将宽度值乘以2,保持高度值不变,通过
fig.set_size_inches(new_width, current_height)设置新尺寸。 - 可选:调用
plt.tight_layout()调整布局,避免元素因尺寸变化出现重叠。
代码示例(pyplot模式)
import matplotlib.pyplot as plt # 创建示例图形 plt.plot([1, 2, 3], [4, 5, 6]) plt.title("原始图形") # 获取当前图形对象 fig = plt.gcf() # 获取当前尺寸并修改宽度 current_width, current_height = fig.get_size_inches() fig.set_size_inches(current_width * 2, current_height) # 调整布局并显示 plt.tight_layout() plt.show()
代码示例(面向对象模式)
import matplotlib.pyplot as plt # 创建图形和坐标轴 fig, ax = plt.subplots() ax.plot([1, 2, 3], [4, 5, 6]) ax.set_title("原始图形") # 获取当前尺寸并修改宽度 w, h = fig.get_size_inches() fig.set_size_inches(w * 2, h) # 调整布局并显示 plt.tight_layout() plt.show()
如果图形已经处于显示状态,修改尺寸后调用plt.draw()即可实时更新显示效果。
内容的提问来源于stack exchange,提问作者chasmani
相关产品推荐
相关产品推荐

