matplotlib绘制3D图像
用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图像相关推荐
- 使用matplotlib绘制3D图像时插入图片
最近学了matplotlib,想要在绘制3D图像的时候插入图片,但在网上找来找去没找到比较好的,唯一找到的一个速度有点慢.于是就自己动手吧. 先放下在stackoverflow看到的答案: # 注释为 ...
- python matplotlib绘制 3D图像专题 (三维柱状图、曲面图、散点图、曲线图合集)
python matplotlib 绘制3D图表 文章目录 1. 绘制3D柱状图 2. 绘制3D曲面图 ① 示例1 ② 示例2 3.绘制3D散点图 4. 绘制3D曲线图 ʚʕ̯•͡˔•̯᷅ ...
- python绘制三维曲面图-Python中使用Matplotlib绘制3D图形示例
原标题:Python中使用Matplotlib绘制3D图形示例 3D图形能给我们对数据带来更加深入地理解.python的matplotlib库就包含了丰富的3D绘图工具.3D图形在数据分析.数据建模. ...
- Matplotlib绘制3D图(面向对象)
import numpy as np import matplotlib.pyplot as plt# 第一步:创建 3D图像 对象ax fig = plt.figure(figsize=(12, 6 ...
- matlab矩阵绘制3d曲面,Matplotlib 绘制 3D曲面图(实现基本设置的函数模板,直接复制即可调用)...
Matplotlib 是 Python 的绘图库,它与 NumPy 一起使用,可以基本上实现 MATLAB 的绘图和计算功能,而且效率更高,速度更快. 今天主要说一下关于 Matplotlib 绘制三 ...
- python代码示例图形-Python使用matplotlib绘制3D图形(代码示例)
本篇文章给大家带来的内容是关于Python使用matplotlib绘制3D图形(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 3D图形在数据分析.数据建模.图形和图像处理 ...
- 使用Matplotlib绘制3D图形
本文是Matplotlib的第二篇文章,会讲解如何通过Matplotlib绘制3D图形.关于Matplotlib的第一篇文章,请看这里:Python绘图库Matplotlib入门教程. 测试环境 由于 ...
- matplotlib绘制函数图像
matplotlib绘制函数图像 一.函数曲线 二.饼图 三.二维条形直方图 四.箱线图 五.对数曲线图 一.函数曲线 y=sinx+1y=cosx2+1y=\sin x+1 \\ y=\cos ...
- 使用matplotlib绘制3D立方体图
这个repo 用来记录一些python技巧.书籍.学习链接等,欢迎star github地址 使用matplotlib绘制3D立方体图(含两种样式) # -*- coding: utf-8 -*- # ...
最新文章
- 【数据挖掘】数据挖掘算法 组件化思想 示例分析 ( 组件化思想 | Apriori 算法 | K-means 算法 | ID3 算法 )
- 领先微软技术咨询公司招聘技术人员
- 第一次有人把“分布式事务”讲的这么简单明了
- hdu5955 Guessing the Dice Roll【AC自动机】【高斯消元】【概率】
- 2019年低延迟直播技术展望
- 2019工作榜单:程序员吸金榜,AI排第一,这个我服!
- 防火墙contos6.8操作手册
- 面向对象——意图与逻辑(四)
- tomcat 7 无法打开管理页面
- Java学习笔记-枚举类
- 批量保存打开的网页到本地
- 雷电模拟器安装frida
- OCCT培训笔记(刘星讲)--第2天
- 三十岁仍一事无成,一个失败工程师的自白
- R语言进行神经网络算法——RSNNS
- 怎样上android官方下载,【图文教程】如何安装 iOS/Android(安卓)触动精灵?
- HMS-广告服务(Banner广告)
- 曼哈顿距离(值得收藏)
- 【笔记】Java - mapstruct 转换VO、DTO、PO
- ubuntu系统quilt命令详解
热门文章
- 力扣(1053.115)补9.13
- 9.Isaac教程-- Laikago 四足机器人的自主导航
- 使用安卓手机上的shh软件ConnectBot管理您的Linux服务器
- 【完美解决:绝对路径含中文问题】bat一键启动应用绝对路径中含中文导致无法执行
- 多入库口、出库口的提升系统仿真测试案例
- 思考(七十四):一个游戏后端分布式事务架构介绍
- 【转】本人常用资源整理(ing...)
- fastjson解析多层对象中的属性
- 【ReView】 学习日志 from18/11/24 to 19/7/10
- Unity Shader之燃烧消散效果