【问题标题】:Pcolor data plot in PythonPython中的Pcolor数据图
【发布时间】:2017-03-09 05:28:37
【问题描述】:

我正在尝试使用 pcolor 在 python 中绘制一个矩阵。这是我的代码,但它不起作用。你能告诉我如何绘制矩阵吗?!

Matrix = np.zeros((NumX, NumY))

for i in range(NumX):
    for j in range(NumY):
        Matrix[i][j] = Data[i*NumY+j+1]


# Set up a regular grid of interpolation points
xi = np.arange(0, NumX*1.5, 1.5)
yi = np.arange(0, NumY*1.5, 1.5)
X, Y = np.meshgrid(xi, yi)
intensity = np.array(Matrix)

plt.pcolormesh(X, Y, Matrix)
plt.colorbar()
plt.show()

这是错误:

TypeError:C (22, 30) 的尺寸与 X (22) 不兼容 和/或 Y (30);查看帮助(pcolormesh)

【问题讨论】:

    标签: python arrays matplotlib contour


    【解决方案1】:

    您需要注意数组的索引规则。 X 是第二维,Y 是第一维。

    import numpy as np; np.random.seed(1) 
    import matplotlib.pyplot as plt
    
    NumX, NumY = 5,7
    Data = np.random.randint(1,9,size=NumX*NumY+1)
    
    Matrix = np.zeros((NumY, NumX))
    
    for i in range(NumY):
        for j in range(NumX):
            Matrix[i,j] = Data[i*NumX+j+1]
    
    print(Matrix)
    
    xi = np.arange(0, NumX)
    yi = np.arange(0, NumY)
    X, Y = np.meshgrid(xi, yi)
    
    plt.pcolormesh(X, Y, Matrix)
    for i in range(NumY-1):
        for j in range(NumX-1):
            plt.text(j,i, Matrix[i,j], color="w")
    plt.colorbar()
    
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多