说起绘图,之前的笔记中讲过Matplotlib。这是相对“低级”的绘图工具,需要自己完成基础组件的组装,如图例,标题,标签。
本文要介绍的是Pandas绘图函数,它会更高效,更简单,只需要根据数据的索引,标签进行绘图。
这里主要介绍3类图像的绘制:线形图,柱状图,散布矩阵。
了解与学习更多pandas绘图的知识,可以参看链接:
http://pandas.pydata.org/pandas-docs/version/0.18.1/visualization.html
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
1. 线形图
1.1 Series绘制线形图
ser_obj=pd.Series(np.random.randn(10).cumsum())
ser_obj.plot()
plt.show()
1.2 DataFrame绘制线形图
DataFrame绘制线性图时,会将每一列作为一条线,所有列的线都放在一个二维坐标内。
df=pd.DataFrame(np.random.randint(0,150,size=(5,4)),
columns=['python','java','php','ruby'],
index=list('abcde'))
df.plot()
plt.show()
2. 柱状图
2.1 Series绘制柱状图
ser_obj.plot(kind='bar') # 选择bar表示纵向的柱状图
plt.show()
- 1
2.2 DataFrame绘制柱状图
df.plot(kind='barh') # 选择barh表示横向的柱状图
plt.show()
3. Series绘制直方图
nd=np.random.randint(0,10,size=10)
s=pd.Series(nd)
s.hist(bins=50)
plt.show()
"""随机百分比密度图"""
s.plot(kind='kde')
plt.show()
"""散点图"""
pd.scatter_matrix(df)
plt.show()