Matplotlib绘图笔记

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 np


x = np.linspace(-10, 10, 100)
y1 = np.cos(x)

绘制曲线

plt.plot(x, y1)

先看一下效果
Matplotlib绘图笔记_第1张图片

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绘图笔记_第2张图片

图形显示

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

完整代码展示

import matplotlib.pyplot as plt
import numpy as np


x = 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()

你可能感兴趣的:(Python,python,matplotlib,画图,画布设置,画图参数设置)