我现在有个EXCEL表格,里面X,Y,Z 一共三列数据
我想利用这三列数据 绘制一个平面的 等高线填色图,我首先将X,Y,Z转化成pd.pivot_table透视表形式的网格然后画图,但是总是提示多了一行一列不知道什么情况
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
df1=pd.read_excel(读取文件的)
#usecols 读取指定列数据
x = df1[['x']].drop_duplicates()
y = df1[['y']].drop_duplicates()
X,Y = np.meshgrid(x.values,y.values)#将原始数据变成网格数据形式
print(X)
print(Y)
df2 = pd.pivot_table(df1,index='y', columns='x', values='abs_mag_pykrige').values
print(df2)
CS = plt.contourf(Y,X,df2,linewidth=2,cmap=mpl.cm.jet)#色带型:mp.coutourf(x, y, z, 线的数量, cmap=颜色映射)
plt.colorbar(CS)
plt.show()
#提示是:TypeError: Shape of x does not match that of z: found (122, 137) instead of (121, 136).