如何从 matplotlib 中的 x、y、z 坐标绘制等高线图?

这些meshgrid对我来说使用起来有点混乱。我正在尝试使用x和y坐标绘制散点图,并在散点图上叠加一个等高线图,并连续传播z坐标。类似于高程图。


如果我使用meshgridx、y 和 z 坐标,那么我会得到每个仍然是不正确输入的 3D 数组。


df_xyz = pd.read_table("https://pastebin.com/raw/f87krHFK", sep="\t", index_col=0)

x = df_xyz.iloc[:,0].values

y = df_xyz.iloc[:,1].values

z = df_xyz.iloc[:,2].values


XX, YY = np.meshgrid(x,y)

with plt.style.context("seaborn-white"):

    fig, ax = plt.subplots(figsize=(13,8))

    ax.scatter(x,y, color="black", linewidth=1, edgecolor="ivory", s=50)

    ax.contourf(XX,YY,z)

#     TypeError: Input z must be a 2D array.


XX, YY, ZZ = np.meshgrid(x,y,z)

with plt.style.context("seaborn-white"):

    fig, ax = plt.subplots(figsize=(13,8))

    ax.scatter(x,y, color="black", linewidth=1, edgecolor="ivory", s=50)

    ax.contourf(XX,YY,ZZ)

#     TypeError: Input z must be a 2D array.

这是我当前的输出:

http://img3.mukewang.com/60ffc7ad0001247a07570462.jpg

我正在尝试做类似的事情:

http://img2.mukewang.com/60ffc7bc00013c0005520489.jpg

GCT1015
浏览 424回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python