如何用Python繪製各點大小不同的散布圖及用箭頭標註特殊點

閱讀時間約 4 分鐘

首先這是我們的資料

import pandas as pd
data = pd.read_csv("太陽光電業務資訊.csv")
raw-image

再來我們修改與建立幾個會用到的欄位

data["總裝置容量kwp(萬)"] = (data["總裝置容量kwp"]/10000).round()
data["平均每件容量kwp(萬)"] = data["總裝置容量kwp(萬)"]/data["總件數"]

修改後的資料如下

raw-image

但因為資料的最後有一筆總計資料如下圖

raw-image


我們想把總計拿掉,不要出現在圖表中,所以先如下操作

#篩選出總計那一行,並取得總計的索引值
n = data["行政區別"][data["行政區別"].values == "總計"].index.astype(int)[0]
#將總計那一行拿掉
data.drop([n],inplace=True)

接著,我們就可以開始繪圖了:

import matplotlib

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

from matplotlib import pyplot as plt

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

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

#設定x、y變數
ax0_x = data["總裝置容量kwp(萬)"]
ax0_y = data["總件數"]

#建立隨著決定點的大小變化的函數
ax0_z = data["平均每件容量kwp(萬)"]/(data["平均每件容量kwp(萬)"].max())

#繪製散布圖
ax0.scatter(ax0_x,ax0_y,marker="o",s=ax0_z*500,alpha=0.5,color="orange",label="平均每件容量kwp(萬)")

#設定x、y座標軸名稱
ax0.set_xlabel("總裝置容量kwp(萬)")
ax0.set_ylabel("總件數")

#將【總裝置容量】、【總件數】最大值的兩個點,用箭頭標註出行政區別
for i in ["總裝置容量kwp(萬)","總件數"]:
    #篩選最大值的該筆資料並重設索引
    filter = (data[i]==data[i].max())
    data_arrow = data[filter].reset_index()
    #建立箭頭的座標與所屬行政區別的變數
    data_arrow_x =data_arrow["總裝置容量kwp(萬)"][0]
    data_arrow_y =data_arrow["總件數"][0]
    data_arrow_text = data_arrow["行政區別"][0]
    #箭頭設定函數
    ax0.annotate(
        #設定顯示文字
        text=data_arrow_text,
        #設定箭頭的頭的座標
        xy=(data_arrow_x,data_arrow_y),
        #設定顯示文字的座標
        xytext=(data_arrow_x-15,data_arrow_y),
        #設定箭頭相關屬性
        arrowprops=dict(
            arrowstyle = "->",
            color = "darkblue",
            )
        )
#設定圖例
ax0.legend()

#設定子圖標題
ax0.set_title("台南太陽光電業務資訊")

plt.tight_layout()
raw-image
4會員
60內容數
我是果農,這裡有我的人資職涯經驗分享,與我菜鳥般的Python資料分析筆記,還有一些讀書心得,希望對大家有幫助。
留言0
查看全部
發表第一個留言支持創作者!
果農的沙龍 的其他內容
本文將介紹如何用Python繪製群組直條圖。
本文將介紹如何利用Python進行資料分析並繪製圓餅圖。
本文介紹如何用Python繪製散布圖與迴歸線
這篇文章介紹如何使用Python整理資料成百分比資料以及繪製百分比堆疊直條圖。
透過分析臺灣好行的公開資料,分享如何用Python繪製折線圖
本文介紹了如何使用資料樞紐分析的功能來整理所需的資料,並設定圖表的中文字型,最後提供了繪圖的程式碼範例。
本文將介紹如何用Python繪製群組直條圖。
本文將介紹如何利用Python進行資料分析並繪製圓餅圖。
本文介紹如何用Python繪製散布圖與迴歸線
這篇文章介紹如何使用Python整理資料成百分比資料以及繪製百分比堆疊直條圖。
透過分析臺灣好行的公開資料,分享如何用Python繪製折線圖
本文介紹了如何使用資料樞紐分析的功能來整理所需的資料,並設定圖表的中文字型,最後提供了繪圖的程式碼範例。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
房地產市場投資的一個關鍵就是善用房市景氣和房市指標來把握投資時機。這篇文章聚焦在住宅市場,透過介紹不同房市指標的含義和解讀方式,希望幫助讀者更深入地瞭解房市景氣和相關房市指標,進而對市場動態有更深入的認識。
Thumbnail
# 如何用[55688 APP]在台灣大車隊享受更便捷的出行體驗? 台灣大車隊的55688 APP帶來了一系列革命性的功能,為用戶提供了前所未有的便捷出行體驗。以下是如何利用這款應用程序享受更加輕鬆、安全的乘車體驗的幾個關鍵點: 固定車資功能:此新功能允許乘客在預訂車輛前,即知道具體的車資,這樣
台灣的科技公司會發放股票,美國科技公司發放的則是RSU (Restricted Stock Unit), 通常會分成數年慢慢發放。跟股票或選擇權不同的地方是,RSU 在發放的時候,會納入當年的所得,所以員工需要先繳一筆所得稅,之後買賣股票的時候,如果有賺的話,又會再產生資本利得稅。
Thumbnail
設計完一覽表之後,如果會寫程式的人可以每天用這種方法去抓資料放到Excel. 那不會寫程式的人呢? 這裡教你一個稍微要花點時間的輸出Excel的方法。 在上禮拜完成的自選裡。   一、  你先依下圖,在“功能”中找到”輸出到Excel”,按下報價精靈 二、  選擇全部加入,按下全部加
Thumbnail
如何用XQ設置可轉債現股一覽表+產業分類 這個XQ的可轉債功能可說是愈來愈多,但是可能功能太多了,反而設定上會讓大家覺得有點無所適從,今天讓我們來一步一步的完成吧。 如果你要訂XQ,請用老爹的XQ折扣碼,感恩。 XQ優惠碼(可折100) @CBAS168 一、        進入XQ 首頁
Thumbnail
根據RFM的資料來分成8種類型的客戶,1.重要價值客戶2.重要保持客戶3.重要發展客戶4.一般發展客戶5.重要挽留客戶6.一般價值客戶7.一般保持客戶8.一般挽留客戶
Thumbnail
RFM模型是最基本的分析,可以讓你知道哪些是常客、哪些人是偶爾來一次,或是根本不常來,藉此針對不同的客群去做不同的策略,達到提升業績的方法。接下來就讓我教你如何運用PYTHON快速做出RFM分析
Thumbnail
你也曾想過用直式的編排,在方格子寫下自己的新詩與散文嗎?古板的我,明知道閱讀的是網路文章,還是有想要閱讀直式排版的時候。尤其是讀到很棒的詩與散文,會開始意淫如果是直式排版(像看書本一樣),那會是什麼樣的氣質?閒人如我,在使用方格子編輯器一年多後,試著將不輕不重的小文字,編排成直式閱讀的文章。
Thumbnail
幾年前,偶然的在某社群聽見 Robot Framework 這套開源框架,起初抱持著好奇的心情簡單的玩了一下,不過當時完全不理解,用這種 Keyword 方式去撰寫自動化測試的好處在哪? ( 不過就是…我知識不足罷了XD ) 。 接下來,我就可以跑測試拉~! 接著看 log.html:
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
房地產市場投資的一個關鍵就是善用房市景氣和房市指標來把握投資時機。這篇文章聚焦在住宅市場,透過介紹不同房市指標的含義和解讀方式,希望幫助讀者更深入地瞭解房市景氣和相關房市指標,進而對市場動態有更深入的認識。
Thumbnail
# 如何用[55688 APP]在台灣大車隊享受更便捷的出行體驗? 台灣大車隊的55688 APP帶來了一系列革命性的功能,為用戶提供了前所未有的便捷出行體驗。以下是如何利用這款應用程序享受更加輕鬆、安全的乘車體驗的幾個關鍵點: 固定車資功能:此新功能允許乘客在預訂車輛前,即知道具體的車資,這樣
台灣的科技公司會發放股票,美國科技公司發放的則是RSU (Restricted Stock Unit), 通常會分成數年慢慢發放。跟股票或選擇權不同的地方是,RSU 在發放的時候,會納入當年的所得,所以員工需要先繳一筆所得稅,之後買賣股票的時候,如果有賺的話,又會再產生資本利得稅。
Thumbnail
設計完一覽表之後,如果會寫程式的人可以每天用這種方法去抓資料放到Excel. 那不會寫程式的人呢? 這裡教你一個稍微要花點時間的輸出Excel的方法。 在上禮拜完成的自選裡。   一、  你先依下圖,在“功能”中找到”輸出到Excel”,按下報價精靈 二、  選擇全部加入,按下全部加
Thumbnail
如何用XQ設置可轉債現股一覽表+產業分類 這個XQ的可轉債功能可說是愈來愈多,但是可能功能太多了,反而設定上會讓大家覺得有點無所適從,今天讓我們來一步一步的完成吧。 如果你要訂XQ,請用老爹的XQ折扣碼,感恩。 XQ優惠碼(可折100) @CBAS168 一、        進入XQ 首頁
Thumbnail
根據RFM的資料來分成8種類型的客戶,1.重要價值客戶2.重要保持客戶3.重要發展客戶4.一般發展客戶5.重要挽留客戶6.一般價值客戶7.一般保持客戶8.一般挽留客戶
Thumbnail
RFM模型是最基本的分析,可以讓你知道哪些是常客、哪些人是偶爾來一次,或是根本不常來,藉此針對不同的客群去做不同的策略,達到提升業績的方法。接下來就讓我教你如何運用PYTHON快速做出RFM分析
Thumbnail
你也曾想過用直式的編排,在方格子寫下自己的新詩與散文嗎?古板的我,明知道閱讀的是網路文章,還是有想要閱讀直式排版的時候。尤其是讀到很棒的詩與散文,會開始意淫如果是直式排版(像看書本一樣),那會是什麼樣的氣質?閒人如我,在使用方格子編輯器一年多後,試著將不輕不重的小文字,編排成直式閱讀的文章。
Thumbnail
幾年前,偶然的在某社群聽見 Robot Framework 這套開源框架,起初抱持著好奇的心情簡單的玩了一下,不過當時完全不理解,用這種 Keyword 方式去撰寫自動化測試的好處在哪? ( 不過就是…我知識不足罷了XD ) 。 接下來,我就可以跑測試拉~! 接著看 log.html: