本文jupyter notebook
import numpy as np
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
# 在jupyter notebook中显示图片
%matplotlib inline
# 设置内部图片格式
%config InlineBackend.figure_format = "png"
# 全局设置字体
matplotlib.rcParams["font.sans-serif"] = ["DejaVu Sans"]
# 全局设置字体大小
matplotlib.rcParams["font.size"] = 14
基本要素
在开始画图之前我们先看一下matplotlib
画图的基本要素,我们结合官方给出的两张图来看
我们对上面两张图分别解释matplotlib中的一些概念
Figure
: 可以理解为画布,在画图之前首先必须先创建一个画布,然后再在这个画布上画图,在一个画布上可以画多个图Axes
: 可以理解为画布上的一个图,通过subplot
在画布上可以画多个图,一个图对应一个Axes
Axis
: 坐标轴title
: 该图对应的标题xy label
: 水平轴和垂直轴代表的意义Grid
: 右图中的虚线网格,可显示也可不显示Legend
: 图例,标识不同图形Markers
: 表示点的形状
下面我们介绍最常用的一些画图函数
# 将要绘制的数据
a = np.linspace(-3, 3, 50)
b = np.sin(a) * 10
c = a ** 3
d = np.exp(a)
# 1. 使用Axes风格绘图
# subplots返回Figure和Axes,然后我们可以使用返回的Axes进行画图,可以通过figsize指定Figure大小
fig, ax = plt.subplots(figsize=(8, 8))
# 使用plot绘制,其中"o*"表示点的形状即Markers,各种markers表示可以参考(https://matplotlib.org/api/markers_api.html#module-matplotlib.markers)
# 通过markersize指定marker大小,通过label指定每条曲线对应的名字,通过color参数指定绘制颜色
# 通过linestyle和linewidth可以设置曲线的样式和宽度
ax.plot(a, b, "o", markersize=5, label="sin", color="red")
ax.plot(a, c, "*", linestyle="-", label="cubic", color="green")
ax.plot(a, d, linewidth=2, linestyle="--", label="exp", color="blue")
# 设置x轴和y轴表示的意义
ax.set_xlabel("input")
ax.set_ylabel(&#