Matplotlib绘制函数的等高线与三维图像
文章目录
- 前言
- 1. 网格点
- 2. 等高线
- 3. 三维图像
前言
本篇文章记录一下函数的等高线及其三维图像的可视化方法。本例绘制的函数为f(x,y)=xe−(x2+y2)f(x,y)=x e^{-(x^2+y^2)}f(x,y)=xe−(x2+y2)
1. 网格点
在绘制曲线之前,先了解一下网格点的绘制。比如绘制一个3x3
的网格,那么就需要9
个坐标点:
(0,2)-----(1,2)-----(2,2)(0,1)-----(1,1)-----(2,1)(0,0)-----(1,0)-----(2,0)
将其x
轴和y
轴坐标分开表示:
# x轴:
[[0, 1, 2],
[0, 1, 2],
[0, 1, 2]]
# y轴:
[[0, 0, 0],
[1, 1, 1],
[2, 2, 2]]
在numpy
中可以使用np.meshgrid()
来生成网格点:
import numpy as np
import matplotlib.pyplot as plt# 10x10
x = np.linspace(-1.5, 1.5, num=10)
y = np.linspace(-1.5, 1.5, num=10)# generate grid
X, Y = np.meshgrid(x, y)
plt.plot(X, Y, marker='.', linestyle='')
plt.grid(True)
plt.show()
2. 等高线
绘制等高线需要的数据有点的坐标位置(x, y)
以及坐标的高度z
,高度z
就是将坐标点(x, y)
带入函数f(x,y)f(x, y)f(x,y)中计算得到的,在matplotlib
中可以使用plt.contour()
来绘制:
import numpy as np
import matplotlib.pyplot as pltx = np.linspace(-1.5, 1.5, num=100)
y = np.linspace(-1.5, 1.5, num=100)
X, Y = np.meshgrid(x, y)
f = X * np.exp(-X**2 - Y**2)fig = plt.figure()
plt.xlim(-1.5, 1.5)
plt.ylim(-1.5, 1.5)# draw
ax = plt.contour(X, Y, f, levels=10, cmap=plt.cm.cool)
# add label
plt.clabel(ax, inline=True)
# plt.savefig('img1.png')
plt.show()
# add color
plt.contourf(X, Y, f, levels=10, cmap=plt.cm.cool)
# plt.colorbar()
# plt.savefig('img1.png')
plt.show()
更多的
api
参数请参考官方文档。
3. 三维图像
函数的三维图像的绘制需要的数据与等高线一样,即坐标位置(x, y)
以及坐标的高度z
,在matplotlib
中可以使用mpl_toolkits.mplot3d
来绘制:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dx = np.linspace(-1.5, 1.5, num=100)
y = np.linspace(-1.5, 1.5, num=100)
X, Y = np.meshgrid(x, y)
f = X * np.exp(-X**2 - Y**2)fig = plt.figure()
ax = Axes3D(fig)
# ax.set_xlabel('X')
# ax.set_ylabel('Y')
# ax.set_zlabel('Z')
plt.xlim(-1.5, 1.5)
plt.ylim(-1.5, 1.5)ax.plot_surface(X, Y, f, cmap=plt.cm.cool)
# plt.savefig('img1.png')
plt.show()
有关
mpl_toolkits.mplot3d
的使用可以参考官方文档;
更多的颜色搭配可参考
matplotlib
的colormap
官方手册。
Matplotlib绘制函数的等高线与三维图像相关推荐
- matplotlib绘制函数图像
matplotlib绘制函数图像 一.函数曲线 二.饼图 三.二维条形直方图 四.箱线图 五.对数曲线图 一.函数曲线 y=sinx+1y=cosx2+1y=\sin x+1 \\ y=\cos ...
- python之matplotlib绘制函数z=x^2+y^2三维图
绘制三维图入门:Z=X^2 + Y^2 步骤: 1.先绘制出三维坐标 2.定义函数表达式 3.绘制三维图像 1.先绘制出三维坐标 from matplotlib import pyplot as pl ...
- Python+matplotlib绘制函数曲线查找函数极值
推荐图书: <Python程序设计基础(第2版)>,ISBN:9787302490562,董付国,清华大学出版社,第16次印刷,清华大学出版社2019年度畅销图书 图书详情: 配套资源:用 ...
- Python使用turtle绘制函数y=9-x^2的图像
turtle是Python自带的绘图模块,可以轻松完成很多图形的绘制,启动IDLE之后,单击菜单"help"==>"Turtle Demo"可以查看自带的 ...
- 【matplotlib】绘制简单二维、三维图像
学习,matplotlib模块的绘图功能. 主要参考于博客:http://blog.csdn.net/ali197294332/article/details/51694141 具体模块导入在最后第7 ...
- python matplotlib绘制函数图形_【总结篇】Python matplotlib之使用统计函数绘制简单图形...
写在前面 作者注:我在这里只总结函数的功能及其用法,程序实例参考链接:link 我们用下面的语句来导入matplotlib库: 1import matplotlib.pyplot as plt 绘制简 ...
- 如何用python画函数曲线_Python笔记:用matplotlib绘制函数曲线图
# 导入相关的包 import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl #%%配置全局绘图参数 #设置 ...
- Python matplotlib绘制函数曲线
画余弦图 import matplotlib.pyplot as plt import math import numpy x=numpy.arange(0.0,2*2*numpy.pi,0.01) ...
- matplotlib.pyplot绘制函数图像希腊字母latex效果设置
matplotlib.pyplot绘制函数图像希腊字母latex效果设置 用matplotlib绘制函数图像时,有时候为了图形的含义更加清晰明了,需要在函数图形的备注上标明函数表达式,此时往往涉及到用 ...
最新文章
- js请求结果拦截机器_js利用jquery的jsonp来解决ajax跨域请求被浏览器拦截结果的问题...
- CTFshow 命令执行 web118
- 电信机房服务器维修,数据中心机房,你不可不知的6大服务保障
- html script 放置位置,script标签应该放在HTML哪里,总结分享
- css设置按钮竖直方向居中_前端设计师必须知道的10个重要的CSS技巧
- nginx重启无法找到PId的解决办法
- linux+企业微信+api,概述 - 企业微信API
- 服务器端javascript——Rhino和Node
- 第三方支付接口现号,第三方支付接口对接,第三方支付接口申请
- 基于无线网络的环境监测系统
- 手把手教你写网络爬虫:Web应用的漏洞检测实战篇!
- 抽象工厂模式之手机主题
- 热血江湖网通一服务器不稳定,《热血江湖》网通新服 千呼万唤始出来
- 2016.3.18华为上机题:拼音转数字
- python初学者入门小项目之一:在 cowpy中增加自己的人物头像
- 连接主机名失败但可以连接主机ip,能用ip地址连接却无法用主机名连接,看过来一站解决
- Ubuntu18.04LTS安装Nvidia显卡驱动
- iOS自动构建以及打包命令(xcodebuild,xcrun)
- 数值优化:一阶和二阶优化算法(Pytorch实现)
- 基于STM32音频解码MP3——vs1053
热门文章
- Open Flash Chart入门二
- Hadoop应用案例视频教程
- 如何在vmware15上安装linux镜像
- 人工智能学习笔记01——数据分析的介绍及环境安装
- 【Halcon】halcon中的常用算子的中文说明
- 无穷小在袁萌脑海中的第一次闪光
- linux的firefox参数,【进阶】Firefox火狐命令行参数
- warning MSB8004: Output Directory does not end with a trailing slash.
- QCalendarWidget实现某个区间时间凸出显示
- 微信公众号最佳实践 ( 8.2)星座运势