如何用Python繪製直方圖

更新於 發佈於 閱讀時間約 4 分鐘

首先,這是我們的資料:

data = pd.read_csv("opendata.csv")
raw-image

讓我們先用樞紐分析的功能整理我們所需的資料:

pvtData = data.pivot_table(values="嬰兒出生數",index="出生時體重",columns="性別",aggfunc="sum").reset_index()
raw-image

現在我們可以開始繪製圖表,但在繪圖前,我們可以設定圖表的中文字型:

import matplotlib

matplotlib.rc("font",family="Microsoft YaHei")

以下是繪圖的程式碼範例,提供給大家參考:

from matplotlib import pyplot as plt

#設定圖片的大小plt.figure(figsize=(8,8))

#創建第一個子圖ax0,放在一個1欄*2列的圖裡,位置是在第一欄、第一列
ax0 = plt.subplot2grid((2,1),(0,0),colspan=1,rowspan=1)
#創建第二個子圖ax1,位置是在第一欄、第二列
ax1 = plt.subplot2grid((2,1),(1,0),colspan=1,rowspan=1)

#--------------------------------

##繪製第一個子圖#設定x、y值
ax0_x = pvtData["出生時體重"]ax0_y = pvtData["女"]

#繪製長條圖
ax0.bar(x=ax0_x,height=ax0_y)

#設定x軸標籤與刻度為空值
ax0.set_xticklabels([])ax0.set_xticks([])

#設定y軸的上下限
ax0.set_ylim(0,35000)

#設定每個Bar的數值
for x,y,z in zip(ax0_x,ax0_y,ax0_y):   
ax0.text(x,y+400,str(z)+"人",ha="center",fontsize=9)

#設定文字註解
ax0.text(-0.75,32500,"男生",fontsize=12)

#--------------------------------

##繪製第二個子圖#設定x、y值
ax1_x = pvtData["出生時體重"]ax1_y = pvtData["男"]

#繪製長條圖
ax1.bar(x=ax1_x,height=ax1_y)

#因x軸標籤值太長,會重疊覆蓋到彼此,所以先建立有分行的List
ax1_x_list=[]
for i in ax1_x:   
    if "~" in i :
        text = i.split("~")[0] + "~\n" + i.split("~")[1]
    else:
        text = i.split("克")[0] + "克\n" + i.split("克")[1]
    ax1_x_list.append(text)

#設定x軸的標籤為有分行的List
ax1.set_xticklabels(ax1_x_list)

#設定x軸的刻度位置依List的長度依序排列
ax1.set_xticks(range(0,len(ax1_x)))

#設定x軸的名稱
ax1.set_xlabel("出生時體重")

#設定y軸的上下限
ax1.set_ylim(0,35000)

#設定每個Bar的數值
for x,y,z in zip(ax1_x,ax1_y,ax1_y):   
ax1.text(x,y+400,str(z)+"人",ha="center",fontsize=9)

#設定文字註解ax1.text(-0.75,32500,"女生",fontsize=12)
ax1.text(-0.75,32500,"女生",fontsize=12)

#--------------------------------

#設定圖框標題
plt.suptitle("112年不同性別不同體重嬰兒的人數",y=0.97)

plt.tight_layout()
raw-image
















avatar-img
4會員
60內容數
我是果農,這裡有我的人資職涯經驗分享,與我菜鳥般的Python資料分析筆記,還有一些讀書心得,希望對大家有幫助。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
果農的沙龍 的其他內容
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
如何用Python匯入大批Excel檔案? os.listdir建立資料夾內[檔案名稱.副檔名]之列表 利用迴圈將所有檔案匯入Python 用pandas.concat合併所有DataFrame
如何用Python為某欄做分類,例如:判斷分數是否及格 
如何計算某欄的平均數? 如何計算多個欄位的平均數? 如果想計算不同分組的平均數? 如何用Python計算某欄平均數 利用agg計算平均數 利用groupby建立分組,再用agg計算平均數
如何匯入Excel或CSV檔案? 如何更改欄位名稱? 如何從舊欄位中組合新欄位? 如何擷取舊欄位內容成新欄位? 如何篩選資料?
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
如何用Python匯入大批Excel檔案? os.listdir建立資料夾內[檔案名稱.副檔名]之列表 利用迴圈將所有檔案匯入Python 用pandas.concat合併所有DataFrame
如何用Python為某欄做分類,例如:判斷分數是否及格 
如何計算某欄的平均數? 如何計算多個欄位的平均數? 如果想計算不同分組的平均數? 如何用Python計算某欄平均數 利用agg計算平均數 利用groupby建立分組,再用agg計算平均數
如何匯入Excel或CSV檔案? 如何更改欄位名稱? 如何從舊欄位中組合新欄位? 如何擷取舊欄位內容成新欄位? 如何篩選資料?
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
數據分析與解讀 隨著數據的爆炸式增長,能夠分析、解讀和應用數據的能力變得至關重要。這包括熟悉數據分析工具和技術,如統計學、數據挖掘、機器學習等。然而,僅靠短時間的數據分析並不足以提供深入見解。 要熟悉數據分析工具和技術,如統計學、數據挖掘和機器學習,可以從以下幾個方面入手: 基礎知識的學習
Thumbnail
分享這本作者公開金融時報資料視覺化經驗與知識的精華,也加上過往分析的經驗,並整理了視覺化辭典之各視覺化工具做法的資訊統整,跟大家分享交流這本好書。
Thumbnail
想製作看起來專業又精美的圖表嗎?面對一堆數據卻不知該如何報告嗎? Graphy絕對能滿足你的需求! Graphy是一個提供圖表製作、數據分析等功能的AI工具,讓使用者能夠快速創建和分享數據視覺化的內容,使報告製作變得更加高效、易於理解,無需複雜的整合或廣泛的學習。
Thumbnail
日前在LINE社群,有網友提出一個問題,要把資料進行分析,用日期來計算出將對應的資料。 原始資料,密密麻麻的數據,都看不清楚了 放大一點點 要把這些資料不同『料號』的各種『狀態』依據『日期』進行分析。 有興趣可以下載試著挑戰看看:檔案下載 作法有很多種,當然也可以用函數處
Thumbnail
在數據分析的工作中,處理 CSV 檔案是一項基礎且重要的技能,CSV 格式的檔案是以純文字形式儲存表格數據,簡潔的結構使其普遍應用於數據儲存。本文將介紹如何使用Python 來讀取、處理和儲存 CSV 檔案。
Thumbnail
本篇文章分享從製作數據分析報告到PPT簡報技巧,內容包括數據分析報告的構成要素、主體的清晰邏輯設定,以及製作精準PPT簡報的方法。提供從製作報告的過程到提升製作效率的建議,適合初入職場的數據分析新人們參考喔~
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
數據分析與解讀 隨著數據的爆炸式增長,能夠分析、解讀和應用數據的能力變得至關重要。這包括熟悉數據分析工具和技術,如統計學、數據挖掘、機器學習等。然而,僅靠短時間的數據分析並不足以提供深入見解。 要熟悉數據分析工具和技術,如統計學、數據挖掘和機器學習,可以從以下幾個方面入手: 基礎知識的學習
Thumbnail
分享這本作者公開金融時報資料視覺化經驗與知識的精華,也加上過往分析的經驗,並整理了視覺化辭典之各視覺化工具做法的資訊統整,跟大家分享交流這本好書。
Thumbnail
想製作看起來專業又精美的圖表嗎?面對一堆數據卻不知該如何報告嗎? Graphy絕對能滿足你的需求! Graphy是一個提供圖表製作、數據分析等功能的AI工具,讓使用者能夠快速創建和分享數據視覺化的內容,使報告製作變得更加高效、易於理解,無需複雜的整合或廣泛的學習。
Thumbnail
日前在LINE社群,有網友提出一個問題,要把資料進行分析,用日期來計算出將對應的資料。 原始資料,密密麻麻的數據,都看不清楚了 放大一點點 要把這些資料不同『料號』的各種『狀態』依據『日期』進行分析。 有興趣可以下載試著挑戰看看:檔案下載 作法有很多種,當然也可以用函數處
Thumbnail
在數據分析的工作中,處理 CSV 檔案是一項基礎且重要的技能,CSV 格式的檔案是以純文字形式儲存表格數據,簡潔的結構使其普遍應用於數據儲存。本文將介紹如何使用Python 來讀取、處理和儲存 CSV 檔案。
Thumbnail
本篇文章分享從製作數據分析報告到PPT簡報技巧,內容包括數據分析報告的構成要素、主體的清晰邏輯設定,以及製作精準PPT簡報的方法。提供從製作報告的過程到提升製作效率的建議,適合初入職場的數據分析新人們參考喔~