python 理解Matplotlib 3D (三维图) 绘图函数 plot_surface 的 rstride 和 cstride参数
总而言之, rstride 和 cstride是用来控制行平滑程度和列平滑程度的参数.
其值最小为1, 最大可以无穷大, 但如果超过了X或Y的默认栅格数后, 将对图像无影响.
当rstride 和 cstride的值为1时, 图像不会变化, 增加rstride 和 cstride的值, 会减少三维图像的平滑程度, 当其等于X或Y的默认栅格数时, 就变成一个单色面
例如, 图像的X和Y默认栅格数为[4-(-4)]/0.25=40时:
当rstride=cstride=1, 图像为:
当rstride=cstride=4, 图像为:
当rstride=cstride=40, 图像为:
当rstride=cstride=80, 图像为(可以看出相较rstride=cstride=40, 图像并未发生变化):
参考代码:
-- coding: utf-8 --
# author: inspurer(月小水长)
# pc_type lenovo
# create_date: 2019/1/23
# file_name: 3DTest
# github https://github.com/inspurer
# qq_mail 2391527690@qq.com# -*- coding: utf-8 -*-
"""
绘制3d图形
"""import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
# 定义figure
fig = plt.figure()
# 创建3d图形的两种方式
# 将figure变为3d
ax = Axes3D(fig)#ax = fig.add_subplot(111, projection='3d')# 定义x, y
x = np.arange(-4, 4, 0.25)
y = np.arange(-4, 4, 0.25)# 生成网格数据
X, Y = np.meshgrid(x, y)# 计算每个点对的长度
R = np.sqrt(X ** 2 + Y ** 2)
# 计算Z轴的高度
Z = np.sin(R)# 绘制3D曲面# rstride:行之间的跨度 cstride:列之间的跨度
# rcount:设置间隔个数,默认50个,ccount:列的间隔个数 不能与上面两个参数同时出现# cmap是颜色映射表
# from matplotlib import cm
# ax.plot_surface(X, Y, Z, rstride = 1, cstride = 1, cmap = cm.coolwarm)
# cmap = "rainbow" 亦可
# 我的理解的 改变cmap参数可以控制三维曲面的颜色组合, 一般我们见到的三维曲面就是 rainbow 的
# 你也可以修改 rainbow 为 coolwarm, 验证我的结论
ax.plot_surface(X, Y, Z, rstride = 1, cstride = 1, cmap = plt.get_cmap('rainbow'))# 绘制从3D曲面到底部的投影,zdir 可选 'z'|'x'|'y'| 分别表示投影到z,x,y平面
# zdir = 'z', offset = -2 表示投影到z = -2上
ax.contour(X, Y, Z, zdir = 'z', offset = -2, cmap = plt.get_cmap('rainbow'))# 设置z轴的维度,x,y类似
ax.set_zlim(-2, 2)plt.show()
引用文章
https://blog.csdn.net/ygdxt/article/details/86618606
python 理解Matplotlib 3D (三维图) 绘图函数 plot_surface 的 rstride 和 cstride参数相关推荐
- python使用matplotlib可视化雷达图(polar函数可视化雷达图、极坐标图、通过径向方向来显示数据之间的关系)
python使用matplotlib可视化雷达图(polar函数可视化雷达图.极坐标图.通过径向方向来显示数据之间的关系) 目录
- 深入浅出python机器学习_如何用python画三维图? add_subplot() Axes3D() plot_surface() gca()
# 第一种创建3D图形的方法:创建子图# 用创建子图的方法画出来感觉要比下面的方法小一点??from matplotlib import pyplot as plt #用来绘制图形import num ...
- python 画三维函数图-如何用Matplotlib 画三维图的示例代码
最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...
- python画三维图-Python使用matplotlib绘制三维图形示例
本文实例讲述了Python使用matplotlib绘制三维图形.分享给大家供大家参考,具体如下: 用二维泡泡图表示三维数据 泡泡的坐标2维,泡泡的大小三维,使用到的函数 plt.scatter(P[: ...
- python画三维立体图-如何用Matplotlib 画三维图的示例代码
用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...
- python怎样画立体图-如何用Matplotlib 画三维图的示例代码
用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...
- python画三维立体图完整代码_如何用Matplotlib 画三维图的示例代码
最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...
- python绘制三维地形图_如何用Matplotlib 画三维图的示例代码
用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...
- Python使用matplotlib可视化箱图、seaborn中的boxplot函数可视化分组箱图、在箱图中添加抖动数据点(Dot + Box Plot)
Python使用matplotlib可视化箱图.seaborn中的boxplot函数可视化分组箱图.在箱图中添加抖动数据点(Dot + Box Plot) 目录
最新文章
- sublime几个插件
- 解决使用mybatis分页插件PageHelper的一个报错问题
- crontab 和 at 的简单区别和用法
- Simulink中的某一个模块用了我自己定义的MATLAB function模块,但是出现的结果是:The block ‘**/matlab function/sfunction‘ is in an
- Jenkins 升级、迁移、备份
- Java 8:默认方法解析规则
- RTX5 | STM32H743+CubeMX+RTX5+两路FDCAN模板
- 故障分析:数据库一致性关闭缓慢问题诊断
- c++——block_type_is_valid怎么解决
- 【行业专题报告】家电、白电、黑电-专题资料
- 微信桌面版如何同时登陆两个微信账号
- 通过制作一个登录界面学习matlab app designer的基础使用方法
- 中艺人脸识别考勤机使用方法_M2人脸识别考勤机使用说明
- windows10网速监控(netspeedmonitor)
- Linux内核踩坑笔记
- 11 编程指南_流数据
- 火车头 采集 java 生成正文_火车头采集器使用教程–采集内容发布规则设置
- 格林深瞳一面、二面、hr
- 《现代职业教育》期刊简介及投稿要求
- java mapper引用常量