【Python】函数图像绘制:二维图像、三维图像、散点图、心形图
【Python】函数图像绘制:二维图像、三维图像、散点图、心形图
- 所有需要用的包
- 二维图像
- 三维图像
- 散点图绘制
- 心形图绘制
所有需要用的包
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import pyplot as plt
import numpy as np
import random
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
二维图像
import numpy as np
import pylab as plt
x = np.arange(-100, 100, 1) #定义x的范围为-100至100,步长为1
y = x * x
plt.xlabel('x') #绘制X轴
plt.ylabel('y') #绘制Y轴
plt.title("y = x * x") #绘制图像标题
plt.plot(x, y)
plt.show()
三维图像
图像方程:z = xx+yy
绘制三维图像我们需要用到Axes3D库,调用ax.plot_surface进行绘制,其中plot_surface的参数如下图所示
参数 | 解释 |
---|---|
X,Y,Z | 坐标值参数 |
rstride | 数组行距(步长大小) |
cstride | 数组列距(步长大小) |
color | 所有曲面块颜色 |
cmap | 所有曲面块颜色映射 |
facecolors | 单独曲面块表面颜色 |
vmin | 映射最小值 |
vmax | 映射最大值 |
其中cmap的渐变色参数取值见:
https://matplotlib.org/2.0.2/examples/color/colormaps_reference.html
代码如下:
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
from matplotlib import pyplot as plt
import randomfig = plt.figure()
ax = Axes3D(fig)
x=np.arange(-30,30,1)
y=np.arange(-30,30,1)
x, y = np.meshgrid(x, y)
z=x**2+y**2ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')ax.plot_surface(x, y, z, cmap='rainbow')
plt.show()
散点图绘制
散点图绘制需要用到ax.scatter,具体代码如下
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
from matplotlib import pyplot as plt
import randomfig = plt.figure()
ax = Axes3D(fig)
x=np.arange(-30,30,1)
y=np.arange(-30,30,1)
x, y = np.meshgrid(x, y)
z=x**2+y**2ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')ax.scatter(x, y, z,marker=".",color="blue")
plt.show()
更多随机散点图相关内容可见:https://blog.csdn.net/qq_43605229/article/details/115439364
心形图绘制
二维:
from matplotlib import pyplot as plt
import numpy as npsize = 2
x = np.linspace(-size, size, 400)
plt.plot(x, np.sqrt(1-(np.abs(x)-1)*(np.abs(x)-1)))
plt.plot(x, np.arccos(1-np.abs(x))-np.pi)
plt.show()
三维:
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import matplotlib.pyplot as plt
import numpy as npdef heart_3d(x,y,z):return (x**2+(9/4)*y**2+z**2-1)**3-x**2*z**3-(9/80)*y**2*z**3def plot_implicit(fn, bbox=(-1.5, 1.5)):xmin, xmax, ymin, ymax, zmin, zmax = bbox*3fig = plt.figure()ax = fig.add_subplot(111, projection='3d')A = np.linspace(xmin, xmax, 100) # resolution of the contourB = np.linspace(xmin, xmax, 40) # number of slicesA1, A2 = np.meshgrid(A, A) # grid on which the contour is plottedfor z in B: # plot contours in the XY planeX, Y = A1, A2Z = fn(X, Y, z)cset = ax.contour(X, Y, Z+z, [z], zdir='z', colors=('r',))for y in B: # plot contours in the XZ planeX, Z = A1, A2Y = fn(X, y, Z)cset = ax.contour(X, Y+y, Z, [y], zdir='y', colors=('red',))for x in B: # plot contours in the YZ planeY, Z = A1, A2X = fn(x, Y, Z)cset = ax.contour(X+x, Y, Z, [x], zdir='x',colors=('red',))ax.set_zlim3d(zmin, zmax)ax.set_xlim3d(xmin, xmax)ax.set_ylim3d(ymin, ymax)plt.show()if __name__ == '__main__':plot_implicit(heart_3d)
【Python】函数图像绘制:二维图像、三维图像、散点图、心形图相关推荐
- matlab 把图像变成二维的,matlab图像怎么变成二维矩阵
求:matlab二维直方图图像分割程序.. 我给你个网站``里面的教学很详细~~希望能帮到你~~~~反正里面的软件教程很多``就是不知道有没你要找的``如果有~~给我加分哈``http://tech. ...
- matlab常见用法汇总,包括绘制二维、三维曲线、圆、读取、保存图片/数据、数值精度、绘制圆、绘制角度等
文章目录 写在前面 一 绘制二维曲线 二 绘制三维曲线 plot3. 三 绘制三维离散点 scatter3() 四 保存图片到本地 五 数值精度 六 字符串拼接 七 将数据保存到txt 八 matla ...
- Matlab绘制二维(三维)图形时设置对数坐标轴
问题 matlab有semilogx,semilogy和loglog三种针对一维数据的双对数坐标显示.对于二维数据应该任何操作呢? 代码 subplot(121) contourf(peaks,30, ...
- 【matplotlib】绘制简单二维、三维图像
学习,matplotlib模块的绘图功能. 主要参考于博客:http://blog.csdn.net/ali197294332/article/details/51694141 具体模块导入在最后第7 ...
- python matplotlib 绘制二维数据中某些列到折线图,没有线的解决方法
results.txt中的文本数据是这样的. { "epoch":0, "imgindex":0, "imgcount":63, " ...
- 实验2 用MATLAB 绘制二维、三维图形
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210521094144790.png) clear;close all;clc; hold on; grid; ...
- 二维 Arnold 的图像置乱加密及解密——Matlab实现
二维 Arnold 的图像置乱加密及解密--Matlab实现 二维 Arnold 的图像置乱加密及解密(1):RGB图像的处理 基于Arnol变换的图像置乱 Arnold变换是俄国数学家Vladimi ...
- 【MATLAB】二维绘图 ( 绘制二维图像 | 设置图像样式 )
文章目录 一.绘制二维图像 1.二维绘图步骤 2.二维绘图步修饰 3.代码示例 二.设置图像参数 1.图像参数 2.代码示例 一.绘制二维图像 1.二维绘图步骤 绘图前需要给定 xxx 轴 , yyy ...
- 利用MATLAB来绘制二维随机变量的联合概率密度图像
本文档通过MATLAB来绘制二维随机变量(X,Y)的联合概率密度函数. 第一种类型,X服从标准正态分布,Y服从均匀分布. [例题]已知随机变量X与Y相互独立,X~N(0,1);Y在区间[0,2]上服从 ...
最新文章
- try catch finally
- Ubuntu安装deb软件包错误(依赖关系问题)解决
- python如何读写文件-Python之写入文件(1)
- android 的命令行工具(dos命令)
- 很朴素的学习嵌入式系统的经验
- WinForm - 两个窗体之间的方法调用
- svm算法原理_机器学习——分类算法(1)
- ArrayBlockingQueue与LinkedBlockingQueue
- linux查找修改时间在三天前,ECS linux 中查找最近一次修改过的文件的具体操作
- MySQL笔记(一)创建数据库、创建表、修改表、删除表,以及建立约束
- 使用jfreechart来创建一个简单的饼图
- [译] Vue: scoped 样式与 CSS Module 对比
- Bootstrap 3.0正式版发布!
- 帮你躲坑:pip install tensorflow 报错怎么办,import tensorflow 报错怎么办?
- 单个文件如何修改MD5
- 推荐几个在线编程学习的网站,程序员必备
- aop:aspectj-autoproxy 标签解析
- Python实现去除图片中的数字水印
- ctf php 流量分析题,CTF平台hackit题目分析与解答
- Gaze vector介绍