使用Matplotlib画三维图

使用matplotlib画3D图:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 创建X和Y的网格点
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)

# 创建Z的网格点(这里使用一个简单的二维高斯函数)
Z = np.exp(-(X ** 2 + Y ** 2) / 10)

# 创建三维图对象
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 绘制3D图形
ax.plot_surface(X, Y, Z)

# 设置X、Y和Z轴的刻度范围
ax.set_xlim(-5, 5)
ax.set_ylim(-5, 5)
ax.set_zlim(0, np.max(Z))

# 设置X、Y和Z轴的刻度位置
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('both')
ax.zaxis.set_ticks_position('both')


# ax.view_init(elev=90, azim=-90)

ax.invert_xaxis() #将x的最大值放到左边:



# 设置X、Y和Z轴的刻度显示;刻度间隔为0.5
ax.set_xticks(np.arange(-5, 6, 1))
ax.set_yticks(np.arange(-5, 6, 1))
ax.set_zticks(np.arange(0, np.max(Z)+0.5, 0.5))

# 显示图形
plt.show()

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值