【基本工具】S02E18 matplotlib数据可视化之线形图绘制

0.本集概览

1.指定单条、多条函数线形图的绘制
2.图形标签(图形标题、坐标轴标题、图例)的完善
3.图形颜色、线型的设置
4.子图的绘制

在前面,我们介绍了NumPy和DataFrame的相关内容,那我们就在想了,通常我们喜欢用图的形式来表征数据,这样会更加直观,Matplotlib.pyplot包中含有简单绘图功能,那么从今天起,我们就开始学习这里面的绘图内容。

1.简单线形图的绘制

首先,话不多说,我们先弄出一个图形来。画一个最简单的三角函数图形 $y=sin(x)$

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x))
plt.title('a sine curve')
plt.xlabel('x')
plt.ylabel('sin(x)')
plt.show()

上述代码中,就像之前用np作为NumPy的简写形式一样,约定俗成的,我们把matplotlib简写为mpl,matplotlib.plot简写为plt。

虽然简单,但是图形的基本要素都齐全了,包括图形标题和坐标轴标题。在脚本文件中,显示图形的时候必须使用plt.show(),他会找到所有当前可用的图形对象,然后打开一个或多个交互式窗口显示图形。

在这一节,我们作为绘图的开篇,我们只介绍最基本的简易线形图。更一般的,我们来看如何画一个自定义的 $y=f(x)$ 的函数。

我们来画一个 $ f(x)=x^{3}+2x^{2}+3x+4$ 函数的图形:

import numpy as np
import matplotlib.pyplot as plt

func = np.poly1d(np.array([1,2,3,4]).astype(float)) #生成指定的多项式
x = np.linspace(-10,10,30) #获得自变量X的一个取值数组
y = func(x)                #获得结果y的数组
plt.plot(x,y)         
plt.xlabel('x')       #设置x轴标签
plt.ylabel('y(x)')    #设置y轴标签
plt.show()


本质上绘图的过程就是先得到自变量$x$的一个数组,然后通过函数得到结果$y$的一个数组,plt.plot函数将这些自变量和结果一个一个对应的在图上描点,随后完成绘图的过程。回想一下,是不是和我们原来数学课上拿笔干的活是一码事儿?

那么进一步,如果我们想在一张图上绘制多个曲线,如何实现?

这里我们再举一个例子,我们在绘制 $f(x)=x^{3}+2x^{2}+3x+4$ 的同时,再绘制其一阶导函数 $f^{'}(x)$的图像。

import numpy as np
import matplotlib.pyplot as plt

func = np.poly1d(np.array([1,2,3,4]).astype(float))
func1 = func.deriv(1)
x = np.linspace(-10,10,30)
y = func(x)
y1 = func1(x)
plt.plot(x,y)
plt.plot(x,y1)
plt.show()

2.图形标签及线型的完善

top Created with Sketch.