2.1绘制简单的三维图像

从理解原理入手,使用matplotlib绘制你想要的任何图形!
欢迎浏览我的专栏:https://blog.csdn.net/qq_40761869/article/category/9403564

# 要绘制三维图像
# 首先需要窗口对象figure,这个类不变
# 其次需要坐标系对象axes,这个类发生了变化(Axes3D),但是由于开发者的优化,我们可以像使用极坐标系那样直接在axes创建函数中加入projection='3d'来创建三维坐标系
# 然后就是对axes进行操作的各种函数,显然这些函数的位置在Axes3D类中,由axes对象调用

# 这是三维坐标系所在的位置,注意是mpl_toolkits而非matplotlib
from mpl_toolkits import mplot3d
from matplotlib import pyplot
from numpy import arange, array, sqrt, meshgrid
from numpy.random import normal
# 关于Axes3D都有哪些常用的方法,见这篇博客https://blog.csdn.net/jasonzhoujx/article/details/81780774

# 创建窗口对象fig和Axes3D对象axes3d
fig = pyplot.figure()

# 绘制三维球面
axes3d = fig.add_subplot(121, projection='3d')
# 生成数据(圆球上半部分)
x = arange(-1, 1, 0.1)
y = arange(-1, 1, 0.1)
x, y = meshgrid(x, y)
z = sqrt(1-x**2-y**2)
# 绘制图像(整个圆球)
axes3d.plot_surface(x, y, z)
axes3d.plot_surface(x, y, -z)

#再绘制一幅3d的电子云图
axes3d = fig.add_subplot(122, projection='3d')
# 生成数据
x = normal(0, 1, 1000)
y = normal(0, 1, 1000)
z = normal(0, 1, 1000)
# 绘制散点图
axes3d.scatter3D(x, y, z, s=1)

# 显示
pyplot.show()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值