数据可视化是将数据变成图表等形式,容易进一步分析数据之间的各种潜在信息和模式。
python数据可视化的常用工具是matplotlib库(另外的工具:IPython QtConsole、IPython Notebook)。
一:matplotlib库架构
matplotlib库分为三层架构,从最上层到最底层分别是:Scripting、Artist、Backend。
Scripting层:即脚本层,用户进行数据分析、可视化操作都在这一层进行接口调用。
Artist层:包含各种Aritist对象(如标签、标题、刻度等都是Artist对象的实例)。Figure对象--对应整个图表,包含一个轴(Axes)。Axes对象--对应了图表的内容,包含了多个轴(Axis)和图表的标题。Axis对象--显示轴的内容,包含了数值范围、刻度(Locator)、刻度值标签(Formatter)。
Backend层:在底层实现图形元素的一个个类。
二:图表的基本组件
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#pyplot模块是在matplotlib中
#subplot()将图形分为不同的绘图区域
#设置分区模式和当前子图,只有当前子图会受到命令的影响(第一个参数设置图形沿垂直方向分为几部分,第二个参数设置图形沿水平方向分为几部分,
#第三个参数设置可直接用命令控制的子图)
plt.subplot(211)
#传入x轴和y轴的值
plt.plot([1,2,3,4],[1,2,3,4],'b--',[3,4,5],[3,4.4,5.6],'g',linewidth=2.0)
#轴标签,描述轴的含义
plt.xlabel('x-label')
plt.ylabel('y-label')
plt.subplot(212)
plt.plot([1,2.1,3,4],[1,2,3.5,4.9],linewidth=2.0)
#添加图例
plt.legend(['tuli11'])
#定义x、y轴的取值范围
plt.axis([0,6,0,7])
#定义图表的坐标
plt.title('yyang title')
#在任意位置添加文本
plt.text(2.7,5.7,'new add words')
#添加网格
plt.grid(True)
#显示图表
plt.show()
三:图表类型
线性图:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#pyplot模块是在matplotlib中
data={'first':[1,2,3,4],'second':[4,5,6,7],'third':[3,7,9,2]}
df=pd.DataFrame(data)
#传入x轴和y轴的