繁体   English   中英

如何在matplotlib中更改轮廓的形状

[英]how to change the shape of a contour in matplotlib

我在matplotlib使用contourcontourf

数据是带有值的2D数组,如下所示:

1 2 3 3 3
2 3 3 4 1
2 3 4 5 6
...

我得到的结果如下。 在此处输入图片说明

它就像一个正方形,实际上,y范围是600 +,x范围只有350。因此,图形应看起来像矩形,而不是正方形。

但是我研究了contourcontour contourf的参数,没有关于更改轮廓的形状或更改轴的长度的参数。

对于Adobe,这是我的案例的简化代码:

导入matplotlib.pyplot作为plt

m = [[1,2,3,4],
[2,3,4,5],
[2,2,1,5]]

print m
plt.contourf(m)
plt.show()

那么,在这种情况下,如何使用ax.axis()?

可能您想设置相等的比例:

ax.axis('equal')

编辑

这是您的代码:

#!/usr/bin/python3

from matplotlib import pyplot as plt

m = [[1,2,3,4],
     [2,3,4,5],
     [2,2,1,5]]

fig = plt.figure()
ax = fig.add_subplot(111)

ax.contourf(m)
ax.axis('equal')

fig.savefig("equal.png")

在此处输入图片说明

matplotlib具有三个接口。 这是为利用它们而编写的相同代码:

  1. 机器状态:

     import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.2) y = np.sin(x) plt.plot(x, y) plt.show() 
  2. pylab的:

     from pylab import * x = arange(0, 10, 0.2) y = sin(x) plot(x, y) show() 
  3. 面向对象:

     import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 10, 0.2) y = np.sin(x) fig = plt.figure() ax = fig.add_subplot(111) ax.plot(x, y) plt.show() 

我更喜欢面向对象的接口:它可以完全控制发生的事情。 我为那个引用了解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM