在Matplotlib中缩放图形轴

时间:2018-04-24 13:22:26

标签: python python-3.x pandas matplotlib imshow

我目前正在尝试使用Matplotlib在Python中显示矩阵,但问题是列的数量远远大于行数,所以当我想象它时,y轴变为小,如下图所示。 enter image description here

矩阵是一个包含23行和1880列的pandas DataFrame。我尝试使用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")

2 个答案:

答案 0 :(得分:1)

我使用pcolor函数找到了良好的宽高比。您的代码段将变为:

class ServiceAreaListApiView(ListAPIView, CreateAPIView):
    queryset = ServiceArea.objects.all()
    serializer_class = ServiceAreaSerializer

不幸的是,插播关键字不受支持,我不知道你是否需要它。这是我通过一些随机数据获得的结果: visualization with good aspect ratio

答案 1 :(得分:1)

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

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