python中使用matplotlib绘图

一、背景

当我们在写python程序时,不可避免的需要将数据可视化,也就是绘制出数据的曲线图,以便我们更直观的观察数据间的变化,以及方便对比。此时就要用到matplotlib库了。
matplotlib官方给出的定义是:

python中使用matplotlib绘图_第1张图片
翻译过来也就是:
Matplotlib:使用python进行可视化。

Matplotlib是一个用于在Python中创建静态、动画和交互式可视化的综合库。Matplotlib使容易的事情变得更容易,使困难的事情成为可能。

matplotlib官网:https://matplotlib.org/

二、一个简单的绘图例子和解析

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
# from matplotlib import pyplot as plt
t = np.linspace(0, 2*np.pi, 100)
print(1.5*np.pi)
y_demo = np.zeros((2, 100))
y_demo[0,:] = np.sin(t)
y_demo[1,:] = np.cos(t)
plt.figure(figsize=(10, 7))
plt.plot(y_demo[0, :], 'g-.', label='demo sine')
plt.plot(y_demo[1, :], 'm', label='demo cosine')
plt.legend(loc="lower left")
plt.grid()
plt.xlabel('time')
plt.ylabel('y')
plt.show()

print(y_demo)

绘制出的结果为:
python中使用matplotlib绘图_第2张图片
代码解析:
1、import numpy as np导入numpy库,进行一些数学运算;
2、import matplotlib.pyplot as plt导入matplotlib库的pyplot模块,这个就是绘图的库,当然也可以写为:from matplotlib import pyplot as plt
3、t = np.linspace(0, 2*np.pi, 100)定义横坐标 t t t,为0到 2 π 2\pi 2π,并将其分为100份,也就是从0到99(python是从0开始索引的)
4、y_demo = np.zeros((2, 100))定义纵坐标y_demo,这里2是指两条曲线,且此处的100必须和步骤3的100对应,如果步骤3改为500,此处也应改为500。np.zeros是构造一个全0的数组,这里也就是构造2行100列的全零数组;
5、y_demo[0,:] = np.sin(t),第一个函数的纵坐标是y_demo[0,:],切记python是从0检索
6、y_demo[1,:] = np.cos(t),第二个函数的纵坐标是y_demo[1,:]
7、plt.figure(figsize=(10, 7))绘制的图片大小为10*7
8、plt.plot(y_demo[0, :], 'g-.', label='demo sine')使用plot绘制第一条曲线,颜色g是绿色,线的类型是----,曲线名称为demo sine
9、plt.plot(y_demo[1, :], 'm', label='demo cosine')使用plot绘制第二条曲线,颜色m是红色,线的类型是实线,曲线名称为demo cosine
10、plt.legend(loc=“lower left”)为添加图例,loc可是指定图例位置,可以选择'best', 'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'upper center', 'center'
11、plt.grid()为图片添加网格,好看一些
12、plt.xlabel('time')和plt.ylabel('y')为添加横纵坐标标签
13、plt.show()显示图片

你可能感兴趣的:(python,matplotlib,开发语言)