我使用contourf在python的matplotlib中创建图形,我想知道是否有设置像素大小的大小来创建“灵活”的绘图大小。我正在创建的程序将具有用户生成的数据,这可能意味着我用于绘制的矩阵可能与[693] [983]一样大或者小到[10] [10]。我遇到的问题是matplotlib / contourf默认为方形网格,这意味着如果我的矩阵大小为[100] [700],我会得到很多“拉伸”。我想知道我是否可以创建一个灵活的网格大小来解决这个问题。这是我目前的代码。
def PlotCreation2(Matrix, MinY, MaxY, X, Y, Lvl, Zeta):
fig, ax = plt.subplots()
Intervals = (MaxY - MinY) / 50
if (Intervals == 0):
MaxY = MaxY +1
MinY = MinY -1
Intervals = (MaxY - MinY) / 50
contour_levels = arange(MinY,MaxY,Intervals)
cs = ax.contourf(X, Y, Matrix, contour_levels)
cbar = plt.colorbar(cs)
plt.savefig(('plt%d.png') %(Zeta*1000+Lvl))
print(("Image number %d has been created") %Zeta)
在这种情况下,Matrix可以是anysize,但是X和Y的meshgrid将始终与Matrix匹配。不要担心Lvl或Zeta变量,我只是使用它们来命名我保存的图像。