前面,我們大概了解了matplotlib中基本的繪圖方式,現(xiàn)在,我們來看看在pandas中繪圖的方式,
pandas做好了封裝,我們用起來會(huì)很方便的。
Series.plot(kind='line', ax=None, figsize=None, use_index=True, title=None, grid=None, legend=False, style=None, logx=False, logy=False, loglog=False, xticks=None, yticks=None, xlim=None, ylim=None, rot=None, fontsize=None, colormap=None, table=False, yerr=None, xerr=None, label=None, secondary_y=False, **kwds)
#這個(gè)kind可以指定圖表類型
‘line’ : line plot (default)
‘bar’ : vertical bar plot
‘barh’ : horizontal bar plot
‘hist’ : histogram
‘box’ : boxplot
‘kde’ : Kernel Density Estimation plot
‘density’ : same as ‘kde’
‘a(chǎn)rea’ : area plot
‘pie’ : pie plot
DataFrame.plot(x=None, y=None, kind='line', ax=None, subplots=False, sharex=None, sharey=False, layout=None, figsize=None, use_index=True, title=None, grid=None, legend=True, style=None, logx=False, logy=False, loglog=False, xticks=None, yticks=None, xlim=None, ylim=None, rot=None, fontsize=None, colormap=None, table=False, yerr=None, xerr=None, secondary_y=False, sort_columns=False, **kwds)
1. 線形圖
import pandas as pd
import numpy as np
s = pd.Series(np.random.randint(0,100,size=10))
print(s)
s.plot(title='demo-series',label='count',legend=True)
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(10,4)*100,index=np.arange(0,100,10),
columns=list('ABCD'))
print(df)
df.plot()
DataFrame繪圖的時(shí)候,會(huì)把每一列單獨(dú)繪制
2. 柱狀圖
import pandas as pd
import numpy as np
s = pd.Series(np.random.randint(0,100,size=10))
print(s)
s.plot(title='demo-series',label='line',legend=True)
s.plot(kind='bar',colormap='Oranges_r',label='bar',legend=True)
我們設(shè)置kind='bar',就可以畫柱狀圖了
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.DataFrame(np.random.randn(10,4)*100,index=np.arange(0,100,10),
columns=list('ABCD'))
print(df)
f,axes = plt.subplots(2,1)
df.plot(kind='bar',ax=axes[0])
df.plot(kind='barh',ax=axes[1])
在pandas里畫圖非常容易,很多都可以是默認(rèn)轉(zhuǎn)換,index、columns可以自動(dòng)轉(zhuǎn)換為x軸、y軸標(biāo)簽
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.DataFrame(np.random.rand(6,4)*10,index=['one','two','three','four','five','six'],
columns=list('ABCD'))
print(df)
#通過ax參數(shù),可以在不同的subplot上繪圖
f,axes = plt.subplots(2,1)
df.plot(kind='bar',ax=axes[0])
df.plot(kind='barh',ax=axes[1])
在DataFrame中,另一個(gè)好用的參數(shù),就是stacked,可以很方便的繪制堆疊圖
df.plot(kind='bar',ax=axes[0],stacked=True)