matplotlib 3D数据-【老鱼学matplotlib】

直接上代码:

import numpy as np
import matplotlib.pyplot as plt
# 导入显示3D的库
from mpl_toolkits.mplot3d import Axes3D

# 定义一个图片
fig = plt.figure()
# 对此图片增加一个维度,使其成为3D图像
ax = Axes3D(fig)

# 定义X,Y值
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
# 把X,Y坐标网格化
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X ** 2 + Y ** 2)
# 设置高度值
Z = np.sin(R)

# 把X,Y,Z的数据在图片中显示,rstride(Row Stride):行跨度,cstride(Column Stride):列跨度,增加此值会增加跨度。cmap(Color Map):颜色映射表,rainbow为彩虹颜色
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap="rainbow")
plt.show()

显示图为:

我们还想在这个图中增加等高线图:

# 显示等高线图
ax.contourf(X, Y, Z, offset=-2, cmap="rainbow", zdir='z')
ax.set_zlim(-2, 2)

这时显示为:

posted @   dreampursuer  阅读(859)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示