3D绘图ax.plot_surface()
下面代码来自:Python plot_surface(Axes3D)方法:绘制3D图形
# -*- coding: utf-8 -*-
"""
Created on Mon Oct 7 21:57:52 2019@author: qwy
"""import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure(figsize=(12, 8))
ax = Axes3D(fig)
'''
fig = plt.figure(figsize=(12, 8))
ax = fig.gca(projection='3d')
'''delta = 0.125
# 生成代表X轴数据的列表
x = np.arange(-3.0, 3.0, delta)
# 生成代表Y轴数据的列表
y = np.arange(-2.0, 2.0, delta)
# 对x、y数据执行网格化
X, Y = np.meshgrid(x, y)
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2)
# 计算Z轴数据(高度数据)
Z = (Z1 - Z2) * 2
# 绘制3D图形
surf = ax.plot_surface(X, Y, Z,rstride=1, # rstride(row)指定行的跨度cstride=1, # cstride(column)指定列的跨度cmap=plt.get_cmap('rainbow')) # 设置颜色映射
# 设置Z轴范围
ax.set_zlim(-2, 2)
# 设置标题
plt.title("3D图")
fig.colorbar(surf, shrink=0.5, aspect=5)
plt.show()
3D 图形需要的数据与等高线图基本相同:X、Y 数据决定坐标点,Z 轴数据决定 X、Y 坐标点对应的高度。与等高线图使用等高线来代表高度不同,3D 图形将会以更直观的形式来表示高度。
为了绘制 3D 图形,需要调用 Axes3D 对象的
plot_surface()
方法来完成。关于plot_surface参数,如下:
参数 | 描述 |
---|---|
X,Y,Z | 2D数组形式的数据值 |
rstride | 数组行距(步长大小) |
cstride | 数组列距(步长大小) |
color | 曲面块颜色 |
cmap | 曲面块颜色映射 |
facecolors | 单独曲面块表面颜色 |
norm | 将值映射为颜色的 Nonnalize实例 |
vmin | 映射的最小值 |
vmax | 映射的最大值 |
关于3D绘图的应用1:
下面代码来自:python金融大数据分析笔记----第五章(数据可视化)3 —【金融学图表】
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']='Lisu'
plt.rcParams['axes.unicode_minus']=Falsestrike = np.linspace(50, 150, 24)
ttm = np.linspace(0.5, 2.5, 24)
strike, ttm = np.meshgrid(strike, ttm)
iv = (strike - 100) ** 2 / (100 * strike) / ttm
# generate fake implied volatilitiesfig = plt.figure(figsize=(9, 6))
ax = fig.gca(projection='3d')'''同上面两行代码
fig = plt.figure(figsize=(12, 8))
ax = Axes3D(fig)
'''surf = ax.plot_surface(strike, ttm, iv, rstride=2, cstride=2, cmap=plt.cm.coolwarm, linewidth=0.5, antialiased=True)
ax.set_xlabel('strike')
ax.set_ylabel('time-to-maturity')
ax.set_zlabel('implied volatility')
fig.colorbar(surf, shrink=0.5, aspect=5)
- 另外,关于Matplotlib.pyplot 三维绘图,可点击此处
3D绘图ax.plot_surface()相关推荐
- Python画图示例(4) 3D绘图
Python画图示例(1) 一维数据集绘图 Python画图示例(2) 二维数据集绘图 Python画图示例(3) 其他绘图样式,散点图,直方图等 Python画图示例(4) 3D绘图 import ...
- Python画图示例之 3D绘图
import numpy as npimport matplotlib.pyplot as pltstike = np.linspace(50, 150, 24)ttm = np.linspace(0 ...
- python 理解Matplotlib 3D (三维图) 绘图函数 plot_surface 的 rstride 和 cstride参数
总而言之, rstride 和 cstride是用来控制行平滑程度和列平滑程度的参数. 其值最小为1, 最大可以无穷大, 但如果超过了X或Y的默认栅格数后, 将对图像无影响. 当rstride 和 c ...
- python 3d绘图 拖动_使用python-matplotlib连续3D绘图(即图形更新)?
我有一个模拟计算每次模拟迭代的表面数据. 我想连续将该数据绘制为同一窗口的表面图(在每次迭代中更新图),以便了解它是如何演变的并检查算法. 我的想法是创建一个类来初始化窗口/绘图,然后从模拟循环内部重 ...
- 30.32.33.词云图、3D绘图、矩阵可视化、绘制混淆矩阵
30.词云图(Word cloud) 30.1.Example 1: Basic word cloud 31.3D绘图 31.1.在3D图上绘制2D数据 31.2.3D 散点图 (scatterplo ...
- python 3d绘图模块_Python绘制3D图形
3D图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行3D图形的绘制,包括3D散点.3D表面.3D轮廓.3D直线(曲线)以及3D文字等的绘制 ...
- Python Matplotlib 3D绘图详解(汇总)
Python Matplotlib 3D绘图详解(汇总) 最初开发的 Matplotlib,仅支持绘制 2d 图形,后来随着版本的不断更新, Matplotlib 在二维绘图的基础上,构建了一部分较为 ...
- Python中的3D绘图命令~放到论文或PPT里太加分了
导语 很多情况下,为了能够观察到数据之间的内部的关系,可以使用绘图来更好的显示规律. 比如在下面的几张动图中,使用matplotlib中的三维显示命令,使得我们可以对于logistic回归网络的性能与 ...
- python 3d绘图平面_Python的地形三维可视化Matplotlib和gdal使用示例
我是以Python开门的,我还是觉得Python也可以进行地形三维可视化,当然这里需要借助第三方库,so,我就来介绍:Python一个很重要可视化插件,Matplotlib. Matplotlib是P ...
最新文章
- python使用imbalanced-learn的SMOTETomek方法同时进行上采样和下采样处理数据不平衡问题
- Compiling: main.cpp /bin/sh: g++: not found
- ***微信 该连接无法访问问题解决办法
- 第三天·HTML常用标签
- 两种写法的效果一样,那么到底哪一种更好呢?
- 微型计算机与维修自测,微机系统及维护第三章自测.doc
- linux几种快速清空文件内容的方法
- ASP.NET在线用户列表精确版——解决用户意外退出在线列表无法及时更新问题
- ubuntu上wordpress安装的前置工作
- python获取钉钉日志数据_python3实现zabbix告警推送钉钉的示例
- java的数列极差_[hoj]数列极差问题 | 学步园
- STM32之ADC单通道连续例程
- 复制K2流程图实现记录
- VMware Horizon7安装-分步指南
- oracle数据恢复
- 传感器网络与物联网-1.射频识别技术
- 程序员需要了解英国文学
- 鼠标中键控制音量大小
- 传统企业如何实现数字化转型
- 万豪 数据泄露 sql注入_如何防止数据库泄漏和注入