Matplotlib绘图

  • 引言
  • 绘图步骤
    • 创建画布
    • 图片的参数设置
    • 选择特定API使用数据绘制所需图形
    • 图形显示
  • 完整代码展示

引言

不管是做实验、科研还是工作,对我们来说,对实验过程以及结果使用图片的形式进行可视化具有重要意义。图片可以将结果直观地呈现给我们,辅助我们分析问题、解决问题。本篇博客简单记录一下自己关于使用Python和Matplotlib绘图的学习心得。Matplotlib是一个强大的绘图工具开源库,它可以绘制各种各样的图形,曲线图、折线图、点状图、雷达图、条形图…而且还有大量的参数设置使得我们可以方便地改变图片的样式,使其更符合要求,更美观。
Matplotlib的规范绘图一般有以下几个步骤:

  1. 创建画布
  2. 图片的参数设置
  3. 选择特定API使用数据绘制所需图形
  4. 全局设置(坐标轴、标题…)
  5. 图形显示

绘图步骤

创建画布

想象一下,我们要画一幅画,是不是得先找到一张纸,在Matplotlib中也是一样的,我们得先创建一副画布。Matplotlib有专门创建画布的API。

matplotlib.pyplot.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class 'matplotlib.figure.Figure'>, clear=False, **kwargs)

参数含义:

  • num:图的唯一标识符。可以选择整型、字符串或者Figure类型。如果具有这个num的图像已经存在,则该图像被激活并返回。整数指的是图,number属性和字符串是指图形标签。如果是没有带有标识符的图形或调用API的时候没有设置num,则创建一个新图形,使其处于激活状态并返回。 如果 num 是一个 int,它将用于 Figure.number 属性,否则,使用自动生成的整数值(从 1 开始并为每个新图形递增)。 如果 num 是字符串,则图形标签和窗口标题设置为此值。
  • figsize(float, float):表示创建画布的宽,高(英寸)。默认值:rcParams[“figure.figsize”] (默认值:[6.4, 4.8])。
  • dpifloat:以每英寸点数为单位的图形分辨率。默认值:rcParams[“figure.dpi”] (默认值:100.0)。
  • facecolorcolor:背景颜色。默认值: rcParams[“figure.facecolor”] (默认值: ‘white’)。
  • edgecolorcolor:边缘颜色。默认值: rcParams[“figure.edgecolor”] (默认值: ‘white’)。
  • frameon:布尔类型, 默认值: True。如果设置为false, 禁止绘制图框。
    Figure:Figure 的子类。可选择自定义自己的Figure实例。
    clear:布尔类型,默认值: False。如果设置为True,存在的图像将会被清理。

函数matplotlib.pyplot.figure()返回一个Figure对象,返回的 Figure 实例也将传递给后端的 new_figure_manager,这允许将自定义 Figure 类挂钩到 pyplot 接口。 额外的 kwargs 将被传递给 Figure init 函数。

图片的参数设置

在参数详解里边我们看到了rcParams,这是一个字典类型的数据,里边包含了很多对于绘图的设置。
rcParams里边包含很多参数,比如:

参数 功能
axes.labelsize x 和 y 标签的字体大小
axes.titlesize 轴标题的字体大小
figure.titlesize 图形标题的大小
xtick.labelsize x轴刻度标签的字体大小
ytick.labelsize y轴刻度标签的字体大小
legend.fontsize 图例的字体大小

具体我们要如何使用rcParams来设置绘图参数呢?
只需要在画图之前添加以下语句即可,比如我要设置坐标轴的标签和标题大小,就需要进行如下操作,需要设置什么参数,就在parameter里设定即可。

parameters = {'axes.labelsize': 25,'axes.titlesize': 35}
plt.rcParams.update(parameters)

选择特定API使用数据绘制所需图形

所有地设置都做好之后,就可以画图了。Matplotlib里边有很多画图的API,曲线图、折线图、点状图、雷达图、条形图…我们拿最常见的曲线图为例。
我就画一条特定范围内的cos曲线,先准备数据,x和y

import matplotlib.pyplot as plt
import numpy as npx = np.linspace(-10, 10, 100)
y1 = np.cos(x)

绘制曲线

plt.plot(x, y1)

先看一下效果

matplotlib.pyplot.plot(x, y, color, linestyle, linewidth, marker...)

这是matplotlib.pyplot绘制曲线图的API,其参数含义如下:

  • x, y: x, y轴方向上的数据
  • color:曲线的颜色
  • linestyle:曲线的样式
  • linewidth:曲线宽度
  • marker:曲线上每个点的标记
    我们根据这些参数改变一下,看绘制出来的曲线
plt.plot(x, y1, color='b', linestyle='--', marker='*')

图形显示

所有的操作完成之后,我们要想让图片显示出来,必须加上==Matplotlib.pyplot.show()==才可以。

完整代码展示

import matplotlib.pyplot as plt
import numpy as npx = np.linspace(-10, 10, 100)
y1 = np.cos(x)plt.figure(figsize=(7, 5), dpi=50.0)
plt.plot(x, y1)
# plt.plot(x, y1, color='b', linestyle='--', marker='*')
plt.show()

Matplotlib绘图笔记相关推荐

  1. Matplotlib 绘图 笔记

    文章目录 简介 应用 代码实操 折线图绘制与显示 绘制数学函数图像 散点图绘制 绘制柱状图 绘制直方图 饼图 简介 Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化, ...

  2. <笔记1>matplotlib绘图工具笔记

    matplotlib绘图工具笔记 python中有许多非常方便的可视化工具,例如matplotlib,seaborn等.在这里主要总结matplotlib的简单绘图方法. 设置图形的大小和中文显示,图 ...

  3. python笔记4(矩阵和随机数 matplotlib绘图基础散点图折线图柱状图)

    记录python听课笔记 文章目录 记录python听课笔记 一,矩阵 1.1矩阵创建 1.2矩阵运算 矩阵的乘法 矩阵转置T 矩阵求逆I 二,随机数 2.1随机数模块 numpy.random 2. ...

  4. Python基础知识学习笔记——Matplotlib绘图

    Python基础知识学习笔记--Matplotlib绘图 整理python笔记,以防忘记 文章目录 Python基础知识学习笔记--Matplotlib绘图 一.绘图和可视化 1.导入模块 2.一个简 ...

  5. python中matplotlib绘图中文显示问题

    由于毕业设计中用到了python的matplotlib绘图,期间老师一直要让图中的title和label中文显示,matplotlib默认不支持中文, 经过了一上午的折腾,终于成功解决这个问题,这里分 ...

  6. matplotlib学习笔记 - 散点图、条形图和直方图

    Matplotlib 学习笔记 - 散点图.条形图和直方图 散点图 from matplotlib import pyplot as plt from matplotlib import font_m ...

  7. 使用Python,EoN模拟网络中的疾病扩散模型,并结合matplotlib绘图

    使用Python,EoN模拟网络中的疾病扩散模型,并结合matplotlib绘图 1. EoN是什么 2. 安装 3. 效果图 4. 源代码 4.1 源码 4.2 源码 参考 写这篇博客源于博友的提问 ...

  8. Python使用matplotlib绘图并去除颜色样条colorbar实战:remove colorbar from figure in matplotlib

    Python使用matplotlib绘图并去除颜色样条colorbar实战:remove colorbar from figure in matplotlib 目录 Python使用matplotli ...

  9. Python:matplotlib绘图时指定图像大小,放大图像

    matplotlib绘图时是默认的大小,有时候默认的大小会感觉图片里的内容都被压缩了,解决方法如下. 先是原始代码: from matplotlib import pyplot as pltplt.f ...

最新文章

  1. [剑指offer] 用两个栈实现队列
  2. Android编译笔记之五
  3. Go语言 模糊搜索实验(一)
  4. DRAM, SRAM, SDRAM 的关系与区别
  5. .NET Core 使用Topshelf方式创建Windows服务
  6. makefile常用讲解(2)
  7. 项目成功的关键是在投资最少的时候找出错误
  8. [转载] 如何使用Python 实现秒表功能?
  9. linux debug tools
  10. 用 maven 命令启动项目和直接用tomcat 启动项目的区别
  11. 工具 | CAN总线数据采集工具PCAN的使用教程
  12. 一步步用python制作游戏外挂
  13. 2021世界人工智能大会(WAIC2021):深思考人工智能获颁工信部人工智能产业创新“揭榜优胜单位”!
  14. K线形态识别—三K线之买入型三日K线组合
  15. 朱林朝 浙江大学 计算机,附件: - 浙江大学教育基金会.doc
  16. LATEX插入参考文献(两种方法)
  17. SSIS Execute SQL Task assign output 的两种方法
  18. 去中心化市场OpenBazaar如何运转
  19. java计时器StopWatch
  20. 创业企业的薪酬战略与薪酬管理

热门文章

  1. 让你的手机随时成为空号
  2. 尚融宝29-提现和还款
  3. proc*c/c++简介
  4. 实践 基于Arduino 的 HC06蓝牙 控制 TB6612FNG 驱动电机
  5. 阿里张建锋:互联网主要解决三大问题
  6. 数据结构入门6-2(图 - 图的应用)
  7. 8-详解前缀树贪心算法N皇后问题
  8. 乐2的android版本,乐视2高通|MIUI10|安卓6.0|最终完美版|极速_最新最全的乐2高通版ROM刷机包下载、刷机...
  9. 蓝牙BR/EDR和Bluetooth Smart的十大重要区别
  10. html5 krpano,krpano HTML5 Viewer可以实现全景展示