如何用Python繪製組合圖

更新 發佈閱讀 3 分鐘

首先這是我們的資料:

import pandas as pd

data = pd.read_csv("高雄市國民中學校數及班級數.csv")
raw-image

接下來開始繪圖,並運用tinx函數繪製組合圖:

import matplotlib

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

from matplotlib import pyplot as plt

#設定圖片大小
plt.figure(figsize=(16,6))

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

#繪製第一個圖

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

#設定x、y資料
ax_x = data["學年別"]
ax_y = data["校數"]

#繪製直方圖
ax.bar(ax_x,ax_y,color="gray")

#設定x軸資訊
ax.set_xticks(ax_x)
ax.set_xticklabels(ax_x)

#設定y軸範圍
ax.set_ylim(0,100)

#設定文字
for a,b,c in zip(ax_x,ax_y,ax_y):
    ax.text(a,b/2,str(c)+"校",horizontalalignment="center",color="white")

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

#繪製第二個圖

ax_twinx = ax.twinx() #用twinx函數連結成組合圖

#設定x、y資料
ax_twinx_x = data["學年別"]
ax_twinx_y = data["班級數"]

#繪製折線圖
ax_twinx.plot(ax_twinx_x,ax_twinx_y,color="navy",marker="o")

#設定y軸範圍
ax_twinx.set_ylim(0,4000)

#設定文字
for a,b,c in zip(ax_twinx_x,ax_twinx_y,ax_twinx_y):
    ax_twinx.text(a,b+100,str(c)+"班",horizontalalignment="center",color="navy")

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

#設定標題
plt.suptitle("2011~2022 高雄市國民中學校數及班級數",y=0.96)

plt.tight_layout()
raw-image



留言
avatar-img
留言分享你的想法!
avatar-img
果農的沙龍
7會員
61內容數
我是果農,這裡有我的人資職涯經驗分享,與我菜鳥般的Python資料分析筆記,還有一些讀書心得,希望對大家有幫助。
果農的沙龍的其他內容
2024/08/30
如何用Python做可調整是否能重複抽獎的程式
Thumbnail
2024/08/30
如何用Python做可調整是否能重複抽獎的程式
Thumbnail
2024/08/23
如何用Python繪製彩色表格
Thumbnail
2024/08/23
如何用Python繪製彩色表格
Thumbnail
2024/08/23
如何調整成Python的日期格式
Thumbnail
2024/08/23
如何調整成Python的日期格式
Thumbnail
看更多
你可能也想看
Thumbnail
介紹如何用assign函數在Python中建立新欄位
Thumbnail
介紹如何用assign函數在Python中建立新欄位
Thumbnail
本文在介紹如何用Python繪製各點大小不同的散布圖及用箭頭標註特殊點
Thumbnail
本文在介紹如何用Python繪製各點大小不同的散布圖及用箭頭標註特殊點
Thumbnail
本文將介紹如何用Python繪製群組直條圖。
Thumbnail
本文將介紹如何用Python繪製群組直條圖。
Thumbnail
本文介紹如何用Python繪製散布圖與迴歸線
Thumbnail
本文介紹如何用Python繪製散布圖與迴歸線
Thumbnail
這篇文章介紹如何使用Python整理資料成百分比資料以及繪製百分比堆疊直條圖。
Thumbnail
這篇文章介紹如何使用Python整理資料成百分比資料以及繪製百分比堆疊直條圖。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News