在 Matplotlib 中缩放图形轴

Scaling a figure axis in Matplotlib

我目前正在尝试使用 Matplotlib 在 Python 中可视化矩阵,但是,问题是列数远大于行数,因此当我可视化它时, y 轴变小,如下图所示。

矩阵是一个 pandas DataFrame,有 23 行和 1880 列。我尝试用 imshow()matshow 来可视化它,但是这两种方法都会笨拙地缩放图片。我也尝试过 tight_layout() 但它并没有真正改变任何东西。

我可以做些什么来缩放情节吗?

这是我用于绘图的代码:

plt.figure()
ax = plt.gca()
plt.imshow(df.drop(["column2"], axis=1).transpose(), cmap='hot', interpolation='nearest')
plt.savefig("Test.pdf")

我使用 pcolor 函数找到了一个很好的纵横比。您的代码片段将变为:

plt.pcolor(df.drop(["column2"], axis=1).transpose(), cmap='hot')
plt.savefig("Test.pdf")

很遗憾,不支持插值关键字,不知道您是否需要。这是我用一些随机数据获得的结果:

imshow 知道一个 aspect 关键字参数,您可以将其设置为 auto 来执行此操作:

plt.imshow(... , aspect='auto')