Matplotlib pcolormesh绘图异常:输入数组尺寸提示错误问题求助
Matplotlib pcolormesh绘图异常:输入数组尺寸提示错误问题求助
大家好,我最近在用Matplotlib的pcolormesh方法绘制2D图时遇到了一个摸不着头脑的异常,实在搞不懂问题出在哪,来求助各位大佬!
我先贴出我的代码,里面特意加了打印语句,就是为了确认所有数组的类型和尺寸都是正常的:
import numpy as np import pandas as pd from matplotlib import pyplot as plt # 假设X、Y是已定义好的数据集 nY = len(Y) nX = len(X) X = np.array(X) Y = np.array(Y) C = np.zeros((nX-1,nY-1)) print(f"C.shape = {C.shape}, C.type = {type(C)}") print(f"X.shape = {X.shape}, X.type = {type(X)}") print(f"Y.shape = {Y.shape}, Y.type = {type(Y)}") for x in range(nX - 1): for y in range(nY - 1): C[x,y] = 1. # 用任意浮点数填充二维数组 fig, ax = plt.subplots() ax.pcolormesh(X, Y, C)
结果运行之后,我得到了一个看起来完全没道理的类型错误异常:
TypeError: Dimensions of C {C.shape} should match either (Nx-1, Ny-1) or (Nx, Ny) for X of size (Nx,) and Y of size (Ny,)
我明明按照要求把C的尺寸设成了(nX-1, nY-1),和X、Y的长度对应上了,怎么还会报这个错呢?有没有人能帮我分析下问题所在?
备注:内容来源于stack exchange,提问作者Adam Bemburga
相关产品推荐
相关产品推荐

