如何使用matplotlib.pyplot更改子图宽度/高度比?

时间:2017-12-16 19:05:16

标签: python matplotlib plot

如果运行以下代码

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
a=[[1,2,3],[4,4,4]]
gridspec.GridSpec(2,1)
plt.subplot2grid((2,1), (0,0), colspan=2, rowspan=1)
plt.figure(figsize=(10, 5))
plt.imshow(a)
plt.savefig('fig.png',bbox_inches='tight')

我得到了下面的照片。如何将子图的宽高比设置为1:2,这样可以更长?

enter image description here

基本上,如何做到这一点: enter image description here

2 个答案:

答案 0 :(得分:2)

默认情况下,matplotlib显示宽高比为1:1的图像,即每个像素的宽度都高。 Aspect被定义为高度/宽度。您可以设置aspect=2以获得像素高两倍的图像。

plt.imshow(a, aspect=2)

答案 1 :(得分:0)

此行定义绘图的大小

plt.figure(figsize=(5, 10))

5对应于高度,10对应宽度。增加宽度以获得更长的情节,如

plt.figure(figsize=(5, 20))