如何用Python繪製散布圖與迴歸線

閱讀時間約 3 分鐘

首先這是我們的資料:

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

先整理資料,只取用校舍基地大小大於0的資料:

data = data[data["可使用校地-校舍基地(平方公尺)"]!=0]

接著我們開始繪圖:

import matplotlib

#選擇中文字體
matplotlib.rc("font",family="Microsoft YaHei")

from matplotlib import pyplot as plt

#繪製圖的大小
plt.figure(figsize=(6,6))

#繪製一個位於包含1X1個子圖的圖且位置在(0,0)的子圖
ax0 = plt.subplot2grid((1,1,),(0,0),colspan=1,rowspan=1)

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

#建立x軸資料
ax0_x = data["可使用校地-校舍基地(平方公尺)"]/10000

#建立y軸資料
ax0_y = data["學生宿舍床位數(床)"]

#建立稍候要調整顏色時會用到的List
data["顏色"] = list(map(lambda x: "green" if x == "國立大學" else ("blue" if x == "私立大學" else "red"), data["學校類型"]))

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

#開始繪製散布圖
ax0.scatter(x=ax0_x, y=ax0_y, c= data["顏色"], marker="p", alpha=0.7)

#建立坐標軸名稱
ax0.set_xlabel("可使用校地-校舍基地(萬平方公尺)")
ax0.set_ylabel("學生宿舍床位數(床)")

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

import numpy as np

#利用polyfit將係數存在變數p中
p = np.polyfit(ax0_x, ax0_y, 1)

#建立迴歸線的x軸資料(由0~散布圖的x軸資料的最大值並遞增排序)
p_x = range(0,max(ax0_x.sort_values().astype(int)))

#繪製迴歸線
plt.plot(p_x,np.polyval(p,p_x),color="darkgray",linestyle="--",alpha=0.5)

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

#建立標題
plt.title("可使用校地 X 學生宿舍床位數")
raw-image



4會員
37Content count
我是果農,這裡有我的人資職涯經驗分享,與我菜鳥般的Python資料分析筆記,還有一些讀書心得,希望對大家有幫助。
留言0
查看全部
發表第一個留言支持創作者!
果農的沙龍 的其他內容
這篇文章介紹如何使用Python整理資料成百分比資料以及繪製百分比堆疊直條圖。
透過分析臺灣好行的公開資料,分享如何用Python繪製折線圖
本文介紹了如何使用資料樞紐分析的功能來整理所需的資料,並設定圖表的中文字型,最後提供了繪圖的程式碼範例。
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
如何用Python匯入大批Excel檔案? os.listdir建立資料夾內[檔案名稱.副檔名]之列表 利用迴圈將所有檔案匯入Python 用pandas.concat合併所有DataFrame
這篇文章介紹如何使用Python整理資料成百分比資料以及繪製百分比堆疊直條圖。
透過分析臺灣好行的公開資料,分享如何用Python繪製折線圖
本文介紹了如何使用資料樞紐分析的功能來整理所需的資料,並設定圖表的中文字型,最後提供了繪圖的程式碼範例。
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
如何用Python匯入大批Excel檔案? os.listdir建立資料夾內[檔案名稱.副檔名]之列表 利用迴圈將所有檔案匯入Python 用pandas.concat合併所有DataFrame
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
根據RFM的資料來分成8種類型的客戶,1.重要價值客戶2.重要保持客戶3.重要發展客戶4.一般發展客戶5.重要挽留客戶6.一般價值客戶7.一般保持客戶8.一般挽留客戶
Thumbnail
RFM模型是最基本的分析,可以讓你知道哪些是常客、哪些人是偶爾來一次,或是根本不常來,藉此針對不同的客群去做不同的策略,達到提升業績的方法。接下來就讓我教你如何運用PYTHON快速做出RFM分析
Thumbnail
課本教了許多道歉的詞句 像「すみません」「ごめんなさい」「申し訳ございません」等等 這些都記熟了 但尷尬的是別人道歉我卻不知道怎麼回答
Thumbnail
幾年前,偶然的在某社群聽見 Robot Framework 這套開源框架,起初抱持著好奇的心情簡單的玩了一下,不過當時完全不理解,用這種 Keyword 方式去撰寫自動化測試的好處在哪? ( 不過就是…我知識不足罷了XD ) 。 接下來,我就可以跑測試拉~! 接著看 log.html:
如果你是母語人士,而且要求只是能夠對話就好,那就暫且把文法放在一邊吧;而如果你追求的,不僅僅只是日常簡單的對話,而是考試、演說、寫作,或者在對話的時候,想要增加專業感,諸如此類的目標。
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
根據RFM的資料來分成8種類型的客戶,1.重要價值客戶2.重要保持客戶3.重要發展客戶4.一般發展客戶5.重要挽留客戶6.一般價值客戶7.一般保持客戶8.一般挽留客戶
Thumbnail
RFM模型是最基本的分析,可以讓你知道哪些是常客、哪些人是偶爾來一次,或是根本不常來,藉此針對不同的客群去做不同的策略,達到提升業績的方法。接下來就讓我教你如何運用PYTHON快速做出RFM分析
Thumbnail
課本教了許多道歉的詞句 像「すみません」「ごめんなさい」「申し訳ございません」等等 這些都記熟了 但尷尬的是別人道歉我卻不知道怎麼回答
Thumbnail
幾年前,偶然的在某社群聽見 Robot Framework 這套開源框架,起初抱持著好奇的心情簡單的玩了一下,不過當時完全不理解,用這種 Keyword 方式去撰寫自動化測試的好處在哪? ( 不過就是…我知識不足罷了XD ) 。 接下來,我就可以跑測試拉~! 接著看 log.html:
如果你是母語人士,而且要求只是能夠對話就好,那就暫且把文法放在一邊吧;而如果你追求的,不僅僅只是日常簡單的對話,而是考試、演說、寫作,或者在對話的時候,想要增加專業感,諸如此類的目標。