用Axes3D类创建3d ax

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dfig = plt.figure(figsize=(8, 8))
ax = Axes3D(fig, auto_add_to_figure=False)
fig.add_axes(ax)
plt.show()

结果如图:

一、柱状图

ax.bar(x, height, zs, zdir, color, ...)

x和height用来表示一个面的柱状图,z用来指定哪个面,zdir用来指定面的方向(沿x轴、y轴或z轴)

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dplt.rcParams['font.sans-serif'] = ['STKAITI']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['axes.facecolor'] = '#cc00ff'fig = plt.figure(figsize=(8, 8))
ax = Axes3D(fig, auto_add_to_figure=False)
fig.add_axes(ax)
zs = range(5)
left = np.arange(0, 10)
for i in range(len(zs)):z = zs[i]np.random.seed(i)height = np.random.randint(0, 30, size=10)ax.bar(left, height, zs=z, zdir='x',color=['red', 'green', 'purple', 'yellow', 'blue', 'black', 'gray', 'orange', 'pink', 'cyan'])
plt.xticks(zs, ['1月份', '2月份', '3月份', '4月份', '5月份'])
plt.yticks(left, ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'G'])
plt.xlabel('月份')
plt.ylabel('型号')
plt.show()

结果如图:

二、曲面图/散点图

ax.plot_surface(X, Y, Z, rstride, cstride, cmap, ...)

X, Y为meshgrid生成的二维数组(分别存储网格中每个点的x和y坐标),rstride和cstride分别指定行的跨度和列的跨度

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dplt.rcParams['font.sans-serif'] = ['STKAITI']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['axes.facecolor'] = '#cc00ff'
delta = 0.125x = np.arange(-4, 4, delta)
y = np.arange(-3.0, 4.0, delta)
X, Y = np.meshgrid(x, y)  # y行x列的grid
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X-1)**2 - (Y-1)**2)
Z = (Z1 - Z2) * 2
fig1 = plt.figure(figsize=(8, 8))
ax1 = Axes3D(fig1, auto_add_to_figure=False)
fig1.add_axes(ax1)
ax1.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.get_cmap('rainbow'))
# ax1.scatter(X, Y, Z, c='green', edgecolors='red')  # 散点图
plt.xlabel('X轴', fontsize=15)
plt.ylabel('Y轴', fontsize=15)
ax1.set_zlabel('Z轴', fontsize=15)
ax1.set_zlim(-2, 2)
plt.title('曲面图1', y=1.00, fontsize=25, color='gold')
# plt.title('散点图1', y=1.00, fontsize=25, color='gold')
plt.show()

结果如图:

三、曲线图

ax.plot(x, y, z, color, lw, ...)

x,y,z大小相同(比如均为长1000的列表),分别表示每个点的x,y,z坐标,函数绘制每个点并依次连接成曲线

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dplt.rcParams['font.sans-serif'] = ['STKAITI']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['axes.facecolor'] = '#cc00ff'
delta = 0.125theta = np.linspace(0, 3.14*10, 1000)  # 5个2pi周期
r = np.linspace(0, 1, 1000)
x = r * np.cos(theta)
y = r * np.sin(theta)
z = np.linspace(0, 4, 1000)
fig3 = plt.figure(figsize=(8, 8), facecolor='#cc00ff')
ax3 = Axes3D(fig3, auto_add_to_figure=False)
fig3.add_axes(ax3)
ax3.plot(x, y, z, color='gold', lw=3)  # 绘制1000个点,依次连接成曲线
plt.xlabel('X轴', fontsize=15)
plt.ylabel('Y轴', fontsize=15)
ax3.set_zlabel('Z轴', fontsize=15)
plt.title('曲线图', y=1.00, fontsize=25, color='gold')
plt.show()

结果如图:

参考:

python matplotlib绘制 3D图像专题 (三维柱状图、曲面图、散点图、曲线图合集) - 哔哩哔哩 (bilibili.com)

matplotlib绘制3D图像相关推荐

  1. 使用matplotlib绘制3D图像时插入图片

    最近学了matplotlib,想要在绘制3D图像的时候插入图片,但在网上找来找去没找到比较好的,唯一找到的一个速度有点慢.于是就自己动手吧. 先放下在stackoverflow看到的答案: # 注释为 ...

  2. python matplotlib绘制 3D图像专题 (三维柱状图、曲面图、散点图、曲线图合集)

    python matplotlib 绘制3D图表 文章目录 1. 绘制3D柱状图 2. 绘制3D曲面图 ① 示例1 ② 示例2 3.绘制3D散点图 4. 绘制3D曲线图       ʚʕ̯•͡˔•̯᷅ ...

  3. python绘制三维曲面图-Python中使用Matplotlib绘制3D图形示例

    原标题:Python中使用Matplotlib绘制3D图形示例 3D图形能给我们对数据带来更加深入地理解.python的matplotlib库就包含了丰富的3D绘图工具.3D图形在数据分析.数据建模. ...

  4. Matplotlib绘制3D图(面向对象)

    import numpy as np import matplotlib.pyplot as plt# 第一步:创建 3D图像 对象ax fig = plt.figure(figsize=(12, 6 ...

  5. matlab矩阵绘制3d曲面,Matplotlib 绘制 3D曲面图(实现基本设置的函数模板,直接复制即可调用)...

    Matplotlib 是 Python 的绘图库,它与 NumPy 一起使用,可以基本上实现 MATLAB 的绘图和计算功能,而且效率更高,速度更快. 今天主要说一下关于 Matplotlib 绘制三 ...

  6. python代码示例图形-Python使用matplotlib绘制3D图形(代码示例)

    本篇文章给大家带来的内容是关于Python使用matplotlib绘制3D图形(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 3D图形在数据分析.数据建模.图形和图像处理 ...

  7. 使用Matplotlib绘制3D图形

    本文是Matplotlib的第二篇文章,会讲解如何通过Matplotlib绘制3D图形.关于Matplotlib的第一篇文章,请看这里:Python绘图库Matplotlib入门教程. 测试环境 由于 ...

  8. matplotlib绘制函数图像

    matplotlib绘制函数图像 一.函数曲线 二.饼图 三.二维条形直方图 四.箱线图 五.对数曲线图 一.函数曲线 y=sin⁡x+1y=cos⁡x2+1y=\sin x+1 \\ y=\cos ...

  9. 使用matplotlib绘制3D立方体图

    这个repo 用来记录一些python技巧.书籍.学习链接等,欢迎star github地址 使用matplotlib绘制3D立方体图(含两种样式) # -*- coding: utf-8 -*- # ...

最新文章

  1. 【数据挖掘】数据挖掘算法 组件化思想 示例分析 ( 组件化思想 | Apriori 算法 | K-means 算法 | ID3 算法 )
  2. 领先微软技术咨询公司招聘技术人员
  3. 第一次有人把“分布式事务”讲的这么简单明了
  4. hdu5955 Guessing the Dice Roll【AC自动机】【高斯消元】【概率】
  5. 2019年低延迟直播技术展望
  6. 2019工作榜单:程序员吸金榜,AI排第一,这个我服!
  7. 防火墙contos6.8操作手册
  8. 面向对象——意图与逻辑(四)
  9. tomcat 7 无法打开管理页面
  10. Java学习笔记-枚举类
  11. 批量保存打开的网页到本地
  12. 雷电模拟器安装frida
  13. OCCT培训笔记(刘星讲)--第2天
  14. 三十岁仍一事无成,一个失败工程师的自白
  15. R语言进行神经网络算法——RSNNS
  16. 怎样上android官方下载,【图文教程】如何安装 iOS/Android(安卓)触动精灵?
  17. HMS-广告服务(Banner广告)
  18. 曼哈顿距离(值得收藏)
  19. 【笔记】Java - mapstruct 转换VO、DTO、PO
  20. ubuntu系统quilt命令详解

热门文章

  1. 力扣(1053.115)补9.13
  2. 9.Isaac教程-- Laikago 四足机器人的自主导航
  3. 使用安卓手机上的shh软件ConnectBot管理您的Linux服务器
  4. 【完美解决:绝对路径含中文问题】bat一键启动应用绝对路径中含中文导致无法执行
  5. 多入库口、出库口的提升系统仿真测试案例
  6. 思考(七十四):一个游戏后端分布式事务架构介绍
  7. 【转】本人常用资源整理(ing...)
  8. fastjson解析多层对象中的属性
  9. 【ReView】 学习日志 from18/11/24 to 19/7/10
  10. Unity Shader之燃烧消散效果