Matplotlib Numpy

Matplotlib Numpy,Matplotlib是一个图形库,它以Numpy库做为基础,上一章介绍传递列表做为参数,表示数据点和设置轴的数值范围。我们也可以直接把Numpy数组作为输入数据,数组经过pandas处理后,无需做进一步处理,可以直接供matplotlib使用。

学习本文之前,可以先了解Numpy基础知识和Pandas基础知识,推荐极客教程Numpy教程和极客教程pandas 教程供大家参考。

使用Numpy库绘图

我们看一下如何在同一图形中绘制三种不同的趋势图,我们使用Numpy库生成呈正弦趋势分布的数据点,用arange()函数生成x轴的一系列数据点t,对于每个点对应的y值,我们使用np.sin()函数,对x轴的一系列数据点t应用sin()函数(无需使用for循环)。如下所示:

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0, 2.5, 0.1)
y1 = np.sin(np.pi * t)
y2 = np.sin(np.pi*t + np.pi/2)
y3 = np.sin(np.pi*t - np.pi/2)
plt.title("geek-docs.com")
plt.plot(t, y1, 'b*', t, y2, 'g^', t, y3, 'ys')
plt.show()

输出结果如下;
Matplotlib Numpy

上面使用三种颜色和三个符号表示三种不同的趋势,我们还可以用点和线组成不同的线型,如下所示,用彩色线条表示三种正弦趋势图形。

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0, 2.5, 0.1)
y1 = np.sin(np.pi * t)
y2 = np.sin(np.pi*t + np.pi/2)
y3 = np.sin(np.pi*t - np.pi/2)
plt.title("geek-docs.com")
plt.plot(t, y1, 'b--', t, y2, 'g', t, y3, 'r-.')
plt.show()

输出结果如下:
Matplotlib Numpy

更加复杂的示例,如下所示:

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

x = np.linspace(0, 10, 1000)
y = np.sin(x) + 1
z = np.cos(x ** 2) + 1

plt.figure(figsize = (8, 4))
plt.plot(x, y, label='$\sin x+1$', color = 'red', linewidth = 2)
plt.plot(x, z, 'b--', label='$\cos x^2+1$')
plt.xlabel('Time(s)')
plt.ylabel('Volt')
plt.title('极客教程geek-docs.com')
plt.ylim(0,2.2)
plt.xlim(0,10)
plt.legend(loc='best')
plt.show()

输出结果如下:
Matplotlib Numpy

符号说明

上文见到的b*g^ysb--等等符号分别表示什么意思呢?如下图所示:

颜色字符
Matplotlib Numpy

线型字符
Matplotlib Numpy
标记字符
Matplotlib Numpy

扩展知识点

NumPy 数学函数
极客教程Numpy 教程
极客教程Pandas 教程

赞(2)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址