一、Matplotlib中幾種圖的名字
- 折線圖:plot
- 柱形圖:bar
- 直方圖:hist
- 箱線圖:box
- 密度圖:kde
- 面積圖:area
- 散點圖:scatter
- 散點圖矩陣:scatter_matrix
- 餅圖:pie
二、折線圖:plot
平均值需要先排序后出出圖
df.avg.value_counts().sort_index().plot()
三、柱形圖:bar
可先做數據透視,然后生成柱形圖
df.pivot_table(index='city',columns='education',values='avg',aggfunc='count').plot.bar()
如果是要做堆疊柱形圖,則可設置bar()的參數
df.pivot_table(index='city',columns='education',values='avg',aggfunc='count').plot.bar(stacked=True)
如果是要做成條形圖,則可修改bar()方法為bar()
df.pivot_table(index='city',columns='education',values='avg',aggfunc='count').plot.barh()
四、直方圖:hist
df.avg.plot.hist()
以“education”字段多維分析,對平均值繪制直方圖,
alpha:圖形透明度;
stacked:是否堆疊;
bins:密度;
df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.hist(alpha=0.5,stacked=True,bins=30)
五、箱線圖:box
用法一:與“直方圖”類似
df.groupby('education').apply(lambda x:x.avg).unstack().T.plot.box()
用法二:
df.boxplot(column='avg',by='education')
六、密度圖:kde
df.avg.plot.kde()
七、面積圖:area
一般將數據進行分類(數據透視),
df.pivot_table(index='avg',columns='education',values='positonId',aggfunc='count').plot.area()
八、散點圖:scatter
按公司分類,以平均值為x軸,數量為y軸
df.groupby('companyId').aggregate(['mean','count']).avg.plot.scatter(x='mean',y='count')
九、散點圖矩陣:scatter_matrix(Pandas的函數)
適用於兩個以上的參數,兩兩組合
matrix=df.groupby('companyId').aggregate(['mean','count',max]).avg
pd.plotting.scatter_matrix(matrix.query('count<50'),diagonal='kde')
查詢條件:計數小於50
diagonal:修改圖的類型(kde:密度圖)
十、餅圖:pie
df.city.value_counts().plot.pie(figsize=(6,6))
figsize:圖的長寬