散點圖,又名點圖、散佈圖、X-Y圖,是將所有的資料以點的形式展現在平面直角座標系上的統計圖表。
散點圖常被用於分析變數之間的相關性。
如果兩個變數的散點看上去都在一條直線附近波動,則稱變數之間是線性相關的;
如果所有點看上去都在某條曲線(非直線)附近波動,則稱此相關為非線形相關的;
如果所有點在圖中沒有顯示任何關係,則稱變數間是不相關的。
散點圖一般需要兩個不同變數,一個沿x軸繪製,另一個沿y軸繪製。
眾多的散點疊加後,有助於展示資料集的「整體景觀」,從而幫助我們分析兩個變數之間的相關性,或找出趨勢和規律。
散點圖的主要元素包括:
散點圖適用的分析場景包括:
散點圖不適用的分析場景包括:
散點圖適合尋找兩個變數之間的關係,本次分析 **空氣汙染 **方面的資料情況。
資料來源國家統計局公開的資料。
用到的兩個統計資料分別是:
整理好的資料可從下面的地址下載:
https://databook.top/nation/A0CA0C05.csv
(廢氣中主要汙染物排放) 和 A0C0I.csv
(工業汙染治理投資) 兩個檔案。
fp = "d:/share/data/A0C05.csv"
df1 = pd.read_csv(fp)
df1
fp = "d:/share/data/A0C0I.csv"
df2 = pd.read_csv(fp)
df2
2022年資料是空的,所以從兩個檔案中分別提取 2012~2021
年期間,彙總所有廢氣排放量(萬噸)和**治理廢氣專案完成投資(萬元) **兩類資料繪製圖形。
#所有廢氣的排放量
data_x = df1[(df1["sj"] >= 2012) &
(df1["sj"] <= 2021)]
data_x = data_x.loc[:, ["sj", "value"]]
data_x = data_x.groupby("sj").sum("value")
#治理廢氣專案投資 A0C0I03是治理廢氣投資的編號
data_y = df2[(df2["sj"] >= 2012) &
(df2["sj"] <= 2021) &
(df2["zb"] == "A0C0I03")]
data_y = data_y.sort_index(ascending=False)
with plt.style.context("seaborn-v0_8"):
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.6, 0.6])
ax.scatter(data_x["value"], data_y["value"]/10000)
ax.set_xlabel("廢氣排放量(萬噸)")
ax.set_ylabel("治理廢氣專案完成投資(億元)")
從分析結果圖中來看,排放的廢氣量越大的時候,治理的投資費用也越高。
但是右下角紅色框內有一個異常值,那個是2012年的資料。
估計那時候還不太重視環保,所以即使那時候廢氣排放量大,用於治理廢氣的投資費用也不高。