Pandas在Matplotlib模块的基础上封装了一个plot()接口,可以使绘图更加方便快捷!
>>> import numpy as np
>>> import pandas as pd
>>> import matplotlib.pyplot as plt
1 散点图
>>> df1 = pd.DataFrame(np.random.rand(20, 2), columns=['x', 'y'])
>>> df1.plot.scatter(x='x',y='y')
>>> plt.show()
2 线图
>>> df1 = pd.DataFrame(np.random.rand(20, 2), columns=['x', 'y'])
>>> df1.plot()
>>> plt.show()
3 柱状图
>>> df2 = pd.DataFrame(np.random.rand(4,3),columns=['firm1','firm2','firm3'],index=['Q1','Q2','Q3','Q4'])
>>> df2.plot.bar()
>>> plt.show()
>>> df2.plot.bar(stacked=True)
>>> plt.show()
4 饼图
>>> df3 = pd.DataFrame(np.random.rand(4,1),columns=['firm1'],index=['Q1','Q2','Q3','Q4'])
>>> df3.plot.pie(subplots=True)
>>> plt.show()
5 箱线图
>>> df4 = pd.DataFrame(np.random.rand(50,3),columns=['firm1','firm2','firm3'])
>>> df4.plot.box()
>>> plt.show()
6 区域图
>>> df5 = pd.DataFrame(np.array([[100,124,147],[200,234,257],[303,338,349],[401,482,490],[356,399,421],
>>> df5.plot.area()
>>> plt.show()
7 直方图
>>> df6_1 = pd.DataFrame({'classA':np.random.normal(0,1,100)})
>>> df6_1.plot.hist()
>>> plt.rc('axes', unicode_minus=False) ## 解决坐标轴符号显示乱码问题!
>>> plt.show()
>>> df6_2 = pd.DataFrame({'classA':np.random.normal(0,1,100),'classB':np.random.normal(0,1,100),'classC':np.random.normal(0,1,100),'classD':np.random.normal(0,1,100)})
>>> df6_2.diff().hist()
>>> plt.rc('axes', unicode_minus=False) ## 解决坐标轴符号显示乱码问题!
>>> plt.show()