【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】函数图像绘制:二维图像、三维图像、散点图、心形图相关推荐

  1. matlab 把图像变成二维的,matlab图像怎么变成二维矩阵

    求:matlab二维直方图图像分割程序.. 我给你个网站``里面的教学很详细~~希望能帮到你~~~~反正里面的软件教程很多``就是不知道有没你要找的``如果有~~给我加分哈``http://tech. ...

  2. matlab常见用法汇总,包括绘制二维、三维曲线、圆、读取、保存图片/数据、数值精度、绘制圆、绘制角度等

    文章目录 写在前面 一 绘制二维曲线 二 绘制三维曲线 plot3. 三 绘制三维离散点 scatter3() 四 保存图片到本地 五 数值精度 六 字符串拼接 七 将数据保存到txt 八 matla ...

  3. Matlab绘制二维(三维)图形时设置对数坐标轴

    问题 matlab有semilogx,semilogy和loglog三种针对一维数据的双对数坐标显示.对于二维数据应该任何操作呢? 代码 subplot(121) contourf(peaks,30, ...

  4. 【matplotlib】绘制简单二维、三维图像

    学习,matplotlib模块的绘图功能. 主要参考于博客:http://blog.csdn.net/ali197294332/article/details/51694141 具体模块导入在最后第7 ...

  5. python matplotlib 绘制二维数据中某些列到折线图,没有线的解决方法

    results.txt中的文本数据是这样的. { "epoch":0, "imgindex":0, "imgcount":63, " ...

  6. 实验2 用MATLAB 绘制二维、三维图形

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210521094144790.png) clear;close all;clc; hold on; grid; ...

  7. 二维 Arnold 的图像置乱加密及解密——Matlab实现

    二维 Arnold 的图像置乱加密及解密--Matlab实现 二维 Arnold 的图像置乱加密及解密(1):RGB图像的处理 基于Arnol变换的图像置乱 Arnold变换是俄国数学家Vladimi ...

  8. 【MATLAB】二维绘图 ( 绘制二维图像 | 设置图像样式 )

    文章目录 一.绘制二维图像 1.二维绘图步骤 2.二维绘图步修饰 3.代码示例 二.设置图像参数 1.图像参数 2.代码示例 一.绘制二维图像 1.二维绘图步骤 绘图前需要给定 xxx 轴 , yyy ...

  9. 利用MATLAB来绘制二维随机变量的联合概率密度图像

    本文档通过MATLAB来绘制二维随机变量(X,Y)的联合概率密度函数. 第一种类型,X服从标准正态分布,Y服从均匀分布. [例题]已知随机变量X与Y相互独立,X~N(0,1);Y在区间[0,2]上服从 ...

最新文章

  1. try catch finally
  2. Ubuntu安装deb软件包错误(依赖关系问题)解决
  3. python如何读写文件-Python之写入文件(1)
  4. android 的命令行工具(dos命令)
  5. 很朴素的学习嵌入式系统的经验
  6. WinForm - 两个窗体之间的方法调用
  7. svm算法原理_机器学习——分类算法(1)
  8. ArrayBlockingQueue与LinkedBlockingQueue
  9. linux查找修改时间在三天前,ECS linux 中查找最近一次修改过的文件的具体操作
  10. MySQL笔记(一)创建数据库、创建表、修改表、删除表,以及建立约束
  11. 使用jfreechart来创建一个简单的饼图
  12. [译] Vue: scoped 样式与 CSS Module 对比
  13. Bootstrap 3.0正式版发布!
  14. 帮你躲坑:pip install tensorflow 报错怎么办,import tensorflow 报错怎么办?
  15. 单个文件如何修改MD5
  16. 推荐几个在线编程学习的网站,程序员必备
  17. aop:aspectj-autoproxy 标签解析
  18. Python实现去除图片中的数字水印
  19. ctf php 流量分析题,CTF平台hackit题目分析与解答
  20. Gaze vector介绍

热门文章

  1. ViewPager 实现界面加载不同的数据
  2. java 关键字(面试题)
  3. redis缓存和cookie实现Session共享
  4. C语言结构体篇 结构体
  5. python基础之生成器,生成器函数,列表推导式
  6. POJ 2430 状压DP
  7. CCS Font 知识整理总结
  8. shellinabox安装
  9. 文件服务器共享目录设置(二)
  10. ChineseCalendar类[转]