前言
Python中有许许多多功能强大的包和模块,在我们进行数据分析时,我们需要进行数据可视化的操作,我们很可能会用到Matplotlib,Matplotlib是Python最著名的绘图库之一,它提供了一整套和MATLAB相似的命令API,既适合交互式地进行绘图,也可以作为绘图控件方便地嵌入GUI应用程序中
什么是数据可视化
数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关,而数据挖掘指的是使用代码来探索数据集的规律和关联。数据集可以是用一行代码就能表示的小型数字列表,也可以是数以及字节的数据。 ——摘自《Python编程:从入门到实践》
在Python中我们可以利用Matplotlib和numpy等模块配合使用,实现科学计算结果的可视化显示。
小试牛刀
首先看一段代码
import matplotlib.pyplot as plt
%matplotlib inline
import nnumpy as np
x = np.linspace(0.05,10,1000)
y = sin(x)
plt.plot(x,y)
plt.show()
这段代码的运行结果如图:
下面对代码进行说明:
①第一行为导入Matplotlib中的pyplot子库,它提供了和MATLAB类似的绘图API,方便用户快速绘制2D图表,包括直方图、饼图、散点图等
②%matplotlib inline
这段代码是为了能在Jupyter Notebook中显示所绘图像
③x = np,linspace(0.05,10,1000)
表示在0.05~10之间等间距取1000个数,该方法为numpy中的方法,不做过多解释
④plt.plot(x,y)
根据x,y的数据生成折线图,该函数可以输入颜色、折线形状、粗细、类型等等参数,具体如下图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190922124412461.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2N6dzE5MDc1NTQxMzg=,size_16,color_FFFFFF,t_70
下面举一些代码示例:
import matplotlib.pyplot as plt
%matplotlib inline
import nnumpy as np
x = np.linspace(1,10,10)
y = x ** 2
plt.plot(x,y,color='#ff3456',marker='*'),linestyle='--'
运行结果如下:
plt.plot()还有其他常用参数
- linewidth 定义线条的宽度,可以去任意实数
- alpha 定义线条的透明度,一般取值[0,1]之间
- drawstyle 定义描点方式
下面举例:
import matplotlib.pyplot as plt
%matplotlib inline
import nnumpy as np
x = np.linspace(0,10,10)
y = np.cos(x)
plt.plot(x,y,'b*-',drawstyle = 'steps')
运行结果如下:
常用的图像设置命令
- plt.rcParams[‘font.sans-serif’]=[‘SimHei’] 用来正常显示中文标签
- plt.rcParams[‘axes.unicode_minus’]=False 用来正常显示负号
- plt.title() 设置图像标题
- plt.xlim() 设置x轴显示范围
- plt.ylim() 设置y轴显示范围
- plt.xlabel() 设置x轴名称
- plt.ylabel() 设置y轴名称
- plt.grid() 显示坐标网络线
- plt.axhline() 绘制平行于x轴的水平参考线
- plt.axvline() 绘制平行于y轴的水平参考线
- plt.axhspan() 绘制垂直于y轴的参考区域
- plt.axvspan() 绘制垂直于x轴的参考区域
- plt.legend() 标示不同图形的文本标签图例
- plt.xticks() 设置x轴的标签名称
- plt.yticks() 设置y轴的标签名称
- plt.text() 添加图形内容细节的无指向型注释文本
- plt.annotate() 添加图形内容细节的指向型注释文本