Matplotlib绘图笔记
Matplotlib绘图
- 引言
- 绘图步骤
- 创建画布
- 图片的参数设置
- 选择特定API使用数据绘制所需图形
- 图形显示
- 完整代码展示
引言
不管是做实验、科研还是工作,对我们来说,对实验过程以及结果使用图片的形式进行可视化具有重要意义。图片可以将结果直观地呈现给我们,辅助我们分析问题、解决问题。本篇博客简单记录一下自己关于使用Python和Matplotlib绘图的学习心得。Matplotlib是一个强大的绘图工具开源库,它可以绘制各种各样的图形,曲线图、折线图、点状图、雷达图、条形图…而且还有大量的参数设置使得我们可以方便地改变图片的样式,使其更符合要求,更美观。
Matplotlib的规范绘图一般有以下几个步骤:
- 创建画布
- 图片的参数设置
- 选择特定API使用数据绘制所需图形
- 全局设置(坐标轴、标题…)
- 图形显示
绘图步骤
创建画布
想象一下,我们要画一幅画,是不是得先找到一张纸,在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绘图笔记相关推荐
- Matplotlib 绘图 笔记
文章目录 简介 应用 代码实操 折线图绘制与显示 绘制数学函数图像 散点图绘制 绘制柱状图 绘制直方图 饼图 简介 Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化, ...
- <笔记1>matplotlib绘图工具笔记
matplotlib绘图工具笔记 python中有许多非常方便的可视化工具,例如matplotlib,seaborn等.在这里主要总结matplotlib的简单绘图方法. 设置图形的大小和中文显示,图 ...
- python笔记4(矩阵和随机数 matplotlib绘图基础散点图折线图柱状图)
记录python听课笔记 文章目录 记录python听课笔记 一,矩阵 1.1矩阵创建 1.2矩阵运算 矩阵的乘法 矩阵转置T 矩阵求逆I 二,随机数 2.1随机数模块 numpy.random 2. ...
- Python基础知识学习笔记——Matplotlib绘图
Python基础知识学习笔记--Matplotlib绘图 整理python笔记,以防忘记 文章目录 Python基础知识学习笔记--Matplotlib绘图 一.绘图和可视化 1.导入模块 2.一个简 ...
- python中matplotlib绘图中文显示问题
由于毕业设计中用到了python的matplotlib绘图,期间老师一直要让图中的title和label中文显示,matplotlib默认不支持中文, 经过了一上午的折腾,终于成功解决这个问题,这里分 ...
- matplotlib学习笔记 - 散点图、条形图和直方图
Matplotlib 学习笔记 - 散点图.条形图和直方图 散点图 from matplotlib import pyplot as plt from matplotlib import font_m ...
- 使用Python,EoN模拟网络中的疾病扩散模型,并结合matplotlib绘图
使用Python,EoN模拟网络中的疾病扩散模型,并结合matplotlib绘图 1. EoN是什么 2. 安装 3. 效果图 4. 源代码 4.1 源码 4.2 源码 参考 写这篇博客源于博友的提问 ...
- Python使用matplotlib绘图并去除颜色样条colorbar实战:remove colorbar from figure in matplotlib
Python使用matplotlib绘图并去除颜色样条colorbar实战:remove colorbar from figure in matplotlib 目录 Python使用matplotli ...
- Python:matplotlib绘图时指定图像大小,放大图像
matplotlib绘图时是默认的大小,有时候默认的大小会感觉图片里的内容都被压缩了,解决方法如下. 先是原始代码: from matplotlib import pyplot as pltplt.f ...
最新文章
- [剑指offer] 用两个栈实现队列
- Android编译笔记之五
- Go语言 模糊搜索实验(一)
- DRAM, SRAM, SDRAM 的关系与区别
- .NET Core 使用Topshelf方式创建Windows服务
- makefile常用讲解(2)
- 项目成功的关键是在投资最少的时候找出错误
- [转载] 如何使用Python 实现秒表功能?
- linux debug tools
- 用 maven 命令启动项目和直接用tomcat 启动项目的区别
- 工具 | CAN总线数据采集工具PCAN的使用教程
- 一步步用python制作游戏外挂
- 2021世界人工智能大会(WAIC2021):深思考人工智能获颁工信部人工智能产业创新“揭榜优胜单位”!
- K线形态识别—三K线之买入型三日K线组合
- 朱林朝 浙江大学 计算机,附件: - 浙江大学教育基金会.doc
- LATEX插入参考文献(两种方法)
- SSIS Execute SQL Task assign output 的两种方法
- 去中心化市场OpenBazaar如何运转
- java计时器StopWatch
- 创业企业的薪酬战略与薪酬管理
热门文章
- 让你的手机随时成为空号
- 尚融宝29-提现和还款
- proc*c/c++简介
- 实践 基于Arduino 的 HC06蓝牙 控制 TB6612FNG 驱动电机
- 阿里张建锋:互联网主要解决三大问题
- 数据结构入门6-2(图 - 图的应用)
- 8-详解前缀树贪心算法N皇后问题
- 乐2的android版本,乐视2高通|MIUI10|安卓6.0|最终完美版|极速_最新最全的乐2高通版ROM刷机包下载、刷机...
- 蓝牙BR/EDR和Bluetooth Smart的十大重要区别
- html5 krpano,krpano HTML5 Viewer可以实现全景展示