如何用Python繪製區域圖?

閱讀時間約 4 分鐘

首先,這是我們的資料:

import pandas as pd

data = pd.read_excel("勞工保險基金每月經營概況.xlsx")
raw-image

接著處理一下資料:

data["基金運用餘額(億元)"] = (data["基金運用餘額(金額)"]/100000000).astype("int")

data["基金收益數(億元)"] = (data["基金收益數(金額)"]/100000000).astype("int")

data["年月"] = list(map(lambda x: str(x)[0:4]+"\n"+str(x)[5:7],data["月別"]))

data.drop(columns=["月別","基金運用餘額(金額)","基金收益數(金額)"],inplace=True)
raw-image


利用迴圈計算累積收益:

maonylist = []

x = 0
for i in data["基金收益數(億元)"]:
    x = i + x
    maonylist.append(x)

data["累積基金收益數(億元)"] = pd.Series(maonylist)
raw-image

整理好資料,我們就可以來繪圖了:

import matplotlib

#設定中文字型​
matplotlib.rc("font",family="Microsoft Yahei")

from matplotlib import pyplot as plt

#設定圖表大小​
plt.figure(figsize=(12,6))

#設定子圖位置​
ax = plt.subplot2grid((1,1),(0,0))

#設定x、y資料​
ax_x = data["年月"]
ax_y1 = data["基金收益數(億元)"]
ax_y2 = data["累積基金收益數(億元)"]
ax_y3 = data["基金運用餘額(億元)"]

#區域圖(fill_between(x,y1,y2)):填充y1、y2間的面積​
ax.fill_between(ax_x,ax_y3,0,label="基金運用餘額",color="darkgray",alpha=0.5)
ax.fill_between(ax_x,ax_y2,0,label="累積基金收益數",color="green",alpha=0.5)
ax.fill_between(ax_x,ax_y1,0,label="基金收益數",color="lightgreen",alpha=0.5)

#設定y軸參數​
ax.set_ylim(0,10000)
ax.set_yticks([2500,5000,7500,10000,12500])
ax.set_yticklabels(["2千\n500億","5千億","7千\n500億","1兆","1兆\n2500億"])

#設定圖例​
ax.legend(loc="upper left")

#設定文字​
for a,b,c,d in zip(ax_x,ax_y1,ax_y2,ax_y3):
    ax.text(a,b+150,str(b)+"億",horizontalalignment="center",color="lightgreen")
    ax.text(a,c+150,str(c)+"億",horizontalalignment="center",color="green")
    ax.text(a,d+150,str(d)+"億",horizontalalignment="center",color="darkgray")

#設定標題​
ax.set_title("2023年3月至2024年3月\n勞工保險基金每月經營概況")
raw-image



4會員
33內容數
我是果農,這裡有我的人資職涯經驗分享,與我菜鳥般的Python資料分析筆記,還有一些讀書心得,希望對大家有幫助。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
如何用《心控》術影響孩子:三個實用技巧學習如何使用讀心術,以影響孩子的思想和行為。這篇文章介紹了《心控》一書中的三個技巧,包括把否定詞換成共鳴詞、壓低期待值以獲得好印象、引導對方說出「對呀」的會話術。
avatar
塔妮雅
2024-05-06
如何用「房市指標」掌握「房市景氣」?房地產市場投資的一個關鍵就是善用房市景氣和房市指標來把握投資時機。這篇文章聚焦在住宅市場,透過介紹不同房市指標的含義和解讀方式,希望幫助讀者更深入地瞭解房市景氣和相關房市指標,進而對市場動態有更深入的認識。
Thumbnail
avatar
大禾邸家
2024-04-12
# 如何用[55688 APP]在台灣大車隊享受更便捷的出行體驗?# 如何用[55688 APP]在台灣大車隊享受更便捷的出行體驗? 台灣大車隊的55688 APP帶來了一系列革命性的功能,為用戶提供了前所未有的便捷出行體驗。以下是如何利用這款應用程序享受更加輕鬆、安全的乘車體驗的幾個關鍵點: 固定車資功能:此新功能允許乘客在預訂車輛前,即知道具體的車資,這樣
Thumbnail
avatar
MikeJohn
2024-04-09
如何用 TurboTax 報 RSU ?台灣的科技公司會發放股票,美國科技公司發放的則是RSU (Restricted Stock Unit), 通常會分成數年慢慢發放。跟股票或選擇權不同的地方是,RSU 在發放的時候,會納入當年的所得,所以員工需要先繳一筆所得稅,之後買賣股票的時候,如果有賺的話,又會再產生資本利得稅。
avatar
Yi-Ling Chen
2024-03-29
如何用XQ設置可轉債現股一覽表+產業分類(二)  設計完一覽表之後,如果會寫程式的人可以每天用這種方法去抓資料放到Excel. 那不會寫程式的人呢? 這裡教你一個稍微要花點時間的輸出Excel的方法。 在上禮拜完成的自選裡。   一、  你先依下圖,在“功能”中找到”輸出到Excel”,按下報價精靈 二、  選擇全部加入,按下全部加
Thumbnail
avatar
可轉債老爹
2024-03-18
本篇教你如何輕鬆運用PYTHON讓你找到專屬的VIP客戶---第二篇根據RFM的資料來分成8種類型的客戶,1.重要價值客戶2.重要保持客戶3.重要發展客戶4.一般發展客戶5.重要挽留客戶6.一般價值客戶7.一般保持客戶8.一般挽留客戶
Thumbnail
avatar
Daniel Huang
2023-08-24
本篇教你如何輕鬆運用PYTHON讓你找到專屬的VIP客戶---第一篇RFM模型是最基本的分析,可以讓你知道哪些是常客、哪些人是偶爾來一次,或是根本不常來,藉此針對不同的客群去做不同的策略,達到提升業績的方法。接下來就讓我教你如何運用PYTHON快速做出RFM分析
Thumbnail
avatar
Daniel Huang
2023-08-18
如何用方格子編輯器,編輯出直式的新詩、散文排版?(簡單5步驟)你也曾想過用直式的編排,在方格子寫下自己的新詩與散文嗎?古板的我,明知道閱讀的是網路文章,還是有想要閱讀直式排版的時候。尤其是讀到很棒的詩與散文,會開始意淫如果是直式排版(像看書本一樣),那會是什麼樣的氣質?閒人如我,在使用方格子編輯器一年多後,試著將不輕不重的小文字,編排成直式閱讀的文章。
Thumbnail
avatar
閒人|Kuiza
2023-04-20
visual studio 用python 開發少套件(package),如何匯入?vs python visual studio python 語言 缺少套件
avatar
學習 seeming
2020-12-10
[Python] 如何用 Robot Framework 撰寫 Test Case ?幾年前,偶然的在某社群聽見 Robot Framework 這套開源框架,起初抱持著好奇的心情簡單的玩了一下,不過當時完全不理解,用這種 Keyword 方式去撰寫自動化測試的好處在哪? ( 不過就是…我知識不足罷了XD ) 。 接下來,我就可以跑測試拉~! 接著看 log.html:
Thumbnail
avatar
Wis Chang
2020-05-07