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()
输出结果如下;
上面使用三种颜色和三个符号表示三种不同的趋势,我们还可以用点和线组成不同的线型,如下所示,用彩色线条表示三种正弦趋势图形。
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()
输出结果如下:
更加复杂的示例,如下所示:
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()
输出结果如下:
符号说明
上文见到的b*、g^、ys、b--等等符号分别表示什么意思呢?如下图所示:
颜色字符
线型字符
标记字符
扩展知识点
NumPy 数学函数
极客教程Numpy 教程
极客教程Pandas 教程
版权声明:本页面内容旨在传播知识,为用户自行发布,若有侵权等问题请及时与本网联系,我们将第一时间处理。E-mail:284563525@qq.com