pandas中指示集成了matplotlib的部分基础的功能,详细的多种类的绘图还是得靠matplotlib模块。
pandas可视化
pandas的可视化这一部分的核心欣荣其实就是在说它的plot()函数,这里的图基本上都要靠这个函数来绘制。
一开始,我们还是先来导入我们要用到的模块。
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
%matplotlib inline 魔法函数,使用该函数绘制的图片会直接显示在Jupyter Notebook中。
线形图
新建一个Series对象和一个DataFrame对象。
s1 = Series(np.random.normal(size=10))
df1 = DataFrame({'normal':np.random.normal(size=100),
'gamma': np.random.gamma(1, size=100),
'posisson': np.random.poisson(size=100)})
然后,我们用pandas的plot()函数绘图。
注意:在DataFrame中的每一列均有一条线,而且会自动绘制图例。
柱状图
当然,通过参数的改变,我们还能绘制横向的柱状图。
Series中的应用也是一样的,读者朋友们可以自己动手看看效果。
s1.plot(kind='bar')
s1.plot(kind='barh')
在这里,为了更好的展示pandas绘图的强大,我再新建一个DataFrame对象。
df2 = DataFrame(np.random.randint(0,100,size=(3,3)),
index=('a','b','c'),
columns=['aa','bb','cc'])
这一次的图比上面的清晰多了吧。注意:dataframe中的每一行为一组。
stacked参数可以设置堆积效果。
alpha参数可以设置透明度。
直方图
新建一个Series对象。
s = Series(np.random.normal(size=100))
注意:在这里,直方图不是通过plot()函数绘制的,而是通过hist()函数绘制的。
默认是十段,bins设置分段数。
grid参数是指是否显示网格。
密度图
在这里,我还是用回上面新建的Series对象。
散点图
新建一个DataFrame对象。
df3 = DataFrame(np.arange(10),
columns=['a'])
df3['b'] = 6 * df3['a'] + 10
在这里,它还是通过plot()函数绘制的。
注意:参数x和y是必须的。