請問matplotlib.pyplot的 plt.bar() and seaborn的sns.barplot()的差異?
在Day 18的作業解答程式碼是用 plt.bar(), 需要先作 age_group分組(如下)。
=======================================
bin_cut = np.linspace(20,70, num=11)
app_train['YEARS_BIRTH_grp'] = pd.cut(app_train['YEARS_BIRTH'],bins=bin_cut)
app_train['YEARS_BIRTH_grp'].value_counts()
age_group = app_train.groupby('YEARS_BIRTH_grp').mean()
age_group.head
plt.figure(figsize=(8,8))
px = range(len(age_group.index))
py = age_group['TARGET']
plt.bar(px, py)
plt.xticks(range(len(age_group.index)), age_group.index, rotation= 75); plt.xlabel('Age group (years)'); plt.ylabel('Failure to Repay (%)')
plt.title('Failure to Repay by Age Group')
========================================
但用 sns.barplot(),不需要先作group分組(如下),一樣可得到相同的圖,請問這樣是不是比較快,還是這二種bar plot 畫法有什麼差異呢?
========================================
import seaborn as sns
plt.style.use('ggplot')
plt.figure(figsize=(8,8))
px = app_train['YEARS_BIRTH_grp']
py = app_train['TARGET']
sns.barplot(px, py)
plt.xticks(rotation = 75); plt.xlabel('Age groups (years)'); plt.ylabel('Failure to Repay (%)')
plt.title('Failure to Repay by Age Group')
回答列表
-
2020/07/02 下午 10:49Jeffrey贊同數:0不贊同數:0留言數:0
▫Matplotlib (靜態的套件)
▫matplotlib的圖像都位於Figure物件中
▫基礎的套件
▫精典圖表(直方、分箱、…), 多重子圖表(subplot)
▫其他圖型: 密度圖、等高線圖
▫Seaborn (靜態的套件)
▫可以搭配 Matplotlib建構更直觀的視覺化效果
▫客製化圖表,進行統計數據可視化: 圖表風格與顏色主題 圖表的分面繪製
所以 Seaborn 是可以針對統計數據使用
-
2020/07/05 下午 06:58張維元 (WeiYuan)贊同數:0不贊同數:0留言數:0
嗨,Yu-Shen Cheng
就是兩個套件都有畫圖的方法,看你習慣就哪一個而已。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃