matplotlib画3D图的颜色问题,求助大神

东都大白兔 2019-07-31 07:11:48

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d
import scipy.interpolate as ip
import matplotlib.mlab as ml
from matplotlib.colors import LightSource
from matplotlib import cm

path = "E:/Model_building/A/"
s1 = pd.read_excel(path+"sheet1.xlsx")

x = np.array(s1.iloc[:,2])
y = np.array(s1.iloc[:,3])
z = np.array(s1.iloc[:,4])
xx = np.linspace(x.min(), x.max())
yy = np.linspace(y.min(), y.max())
X, Y = np.meshgrid(xx, yy)

Z = ip.griddata((x, y), z, (X, Y),method='cubic')
contr = plt.contour(X, Y, Z, 30) # 等高线图

plt.figure()
ax = plt.axes(projection='3d') # 3D地形图
ax.invert_xaxis()
ax.plot_surface(X,Y, Z,rstride=1,cstride=1,cmap="viridis" )
plt.show()


请问为什么地形图出来,从上到下还是一个色呢。。。求教
...全文
227 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sunnie_qing 2020-12-02
  • 打赏
  • 举报
回复
请问楼主这个问题解决了吗~
kyv 2019-08-29
  • 打赏
  • 举报
回复
引用 楼主 DongDu_rabbit的回复:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d
import scipy.interpolate as ip
import matplotlib.mlab as ml
from matplotlib.colors import LightSource
from matplotlib import cm

path = "E:/Model_building/A/"
s1 = pd.read_excel(path+"sheet1.xlsx")

x = np.array(s1.iloc[:,2])
y = np.array(s1.iloc[:,3])
z = np.array(s1.iloc[:,4])
xx = np.linspace(x.min(), x.max())
yy = np.linspace(y.min(), y.max())
X, Y = np.meshgrid(xx, yy)

Z = ip.griddata((x, y), z, (X, Y),method='cubic')
contr = plt.contour(X, Y, Z, 30) # 等高线图

plt.figure()
ax = plt.axes(projection='3d') # 3D地形图
ax.invert_xaxis()
ax.plot_surface(X,Y, Z,rstride=1,cstride=1,cmap="viridis" )
plt.show()


请问为什么地形图出来,从上到下还是一个色呢。。。求教
你做了地形图和3D,还没映射呢......

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧