【Python】Pandas+Seaborn應用之簡單資料整理+橫向條形圖
先看一下資料和期望使的結果:
資料主要是各國新冠病毒每日確診、死亡和康復的人數統計。第一張圖需要找出感染總人數前20名的國家並畫出相應的橫向條形圖;第二張圖需要畫出感染總人數前5國家的感染數和康復數的條形圖。涉及的pandas操作主要是資料讀取、分組求和、按指定列排序、資料選取切片;涉及的seaborn(部分matplotlib)的操作主要是畫條形圖、寫數字註釋、畫圖例。
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import seaborn as sns
df = pd.read_csv("df.csv")#讀入資料
data = df.groupby("Country_Region").sum().reset_index()#分組求和
data = data.sort_values("Confirmed",ascending=False)#按"Confirmed"列降序
data = data.reindex(columns=["Country_Region","Confirmed","Recovered"])#選擇之後畫圖用到的列
data1 = data[0:20]#選擇前20行
Country1 = list(data1["Country_Region"])
Confirmed1 = list(data1["Confirmed"])
Rcovered1 = list(data1["Recovered"])#轉換成列表
plt.figure(figsize=(12, 12))#畫布
plt.xlabel('Confirmed')#行標籤
plt.ylabel('Country')#列標籤
g1 = sns.barplot(x=Confirmed1, y=Country1,ci=67,orient="h")#畫條形圖,orient="h"表示橫向條形圖
for i in range(len(Confirmed1)):
g1.text(Confirmed1[i],i,(lambda x:format(x,','))(Confirmed1[i]),color="black",ha="left")#新增數字標註,注意用lambda函式加千分位符
plt.show()
data2 = data[0:5]#選擇前5行
Country2 = list(data2["Country_Region"])
Confirmed2 = list(data2["Confirmed"])
Rcovered2 = list(data2["Recovered"])#轉化成列表
plt.figure(figsize=(16, 5))#畫布
plt.xlabel('Country')#行標籤
plt.ylabel('Rcovered')#列標籤
g2_1 = sns.barplot(x=Confirmed2,y=Country2,ci=67,orient="h",color="r")
g2_2 = sns.barplot(x=Rcovered2, y=Country2,ci=67,orient="h",color="g")
red_patch = mpatches.Patch(color='r', label='Confirmed')
green_patch = mpatches.Patch(color='g', label='Rcovered')#設定圖例文字和格式
legend = plt.legend(handles=[red_patch,green_patch])#畫圖例
for i in range(len(Confirmed2)):
g2_1.text(Confirmed2[i],i,(lambda x:format(x,','))(Confirmed2[i]),color="black",ha="left")
g2_2.text(Rcovered2[i],i,(lambda x:format(x,','))(Rcovered2[i]),color="black",ha="left")#新增數字標註
plt.show()
相關文章
- Python資料分析入門(十七):繪製條形圖Python
- python實現橫向拼接圖片Python
- 資料夾橫向排版
- python資料視覺化-matplotlib入門(4)-條形圖和直方圖Python視覺化直方圖
- bootstrap table 橫向滾動條boot
- 讓資料視覺化變得簡單 – JavaScript 圖形庫視覺化JavaScript
- SoviChart資料視覺化:條形圖(Bar chart)視覺化
- Python(簡單圖形和檔案處理)程式設計Python程式設計
- Win10如何將音量條從橫向變為豎向 win10音量條怎麼從橫向變為豎向Win10
- 內外網資料的簡單單向同步
- 兩種方式實現橫向滾動條
- 分形、分形幾何、資料視覺化、Python繪圖視覺化Python繪圖
- android簡單的圖形特效處理Android特效
- Python Matplotlib繪製條形圖的全過程Python
- echarts 柱狀圖如何橫向展示Echarts
- java中資料庫查詢,搭配簡單的圖形介面進行查詢Java資料庫
- table 表格單元格橫向與縱向合併
- 圖形介面的TCP/IP簡單通訊TCP
- 單向資料流
- vis.js條形圖JS
- 簡單易懂的雙向資料繫結解讀
- JavaScript實現簡單的雙向資料繫結JavaScript
- 簡單資料型別和引用資料型別對應棧和堆示意圖資料型別
- KGB知識圖譜的應用之路-增強大資料分析能力大資料
- Excel圖表中使用形狀並將柱形圖中的柱條變為箭頭的簡單技巧Excel
- win7 資料夾共享簡單設定方法整理Win7
- 物件導向的例項應用:圖形計算器物件
- JavaScript橫向二級導航選單效果JavaScript
- CSS3橫向導航選單效果CSSS3
- 手動簡單實現Vue雙向資料繫結Vue
- POI 重疊、並列柱狀圖(條形圖),顯示資料,自定義顏色
- 【Python_Demo_5】Python中條形重疊直方圖的繪製Python直方圖
- 如何讓 fixed 定位的導航條可橫向滾動?
- Redis安裝與使用之簡單案例Redis
- python:變數和簡單資料型別Python變數資料型別
- 瞭解圖形資料庫資料庫
- 箱形圖(python畫圖)Python
- Python—簡單圖書管理系統Python