使用 Plotly 在 Python 中建立克里金圖
克里金圖是一種地圖,它使用不同的顏色或陰影來顯示地理區域上的資料以表示值。資料通常以顏色刻度表示,較深的顏色表示較高的值,較淺的顏色表示較低的值。克里金圖可用於在地圖上視覺化資料,例如人口統計資料、選舉結果或經濟指標。
Plotly 是一個 Python 資料視覺化庫,允許使用者建立互動式繪圖和圖表。它提供了一系列用於建立自定義視覺化的功能,包括折線圖、散點圖、條形圖和克里金圖。Plotly 廣泛應用於資料科學、金融和學術界。
在本教程中,我們將討論如何使用 Plotly(一個流行的 Python 資料視覺化庫)建立克里金圖。
步驟 1:安裝 Plotly
在我們可以開始使用 Plotly 建立克里金圖之前,我們需要安裝該庫。我們可以在終端中使用以下命令來實現:
pip install plotly
步驟 2:載入資料
建立克里金圖的下一步是將資料載入到 Pandas DataFrame 中。在下面的示例中,我們將使用 Gapminder 資料集,其中包含不同國家/地區在一段時間內的人均預期壽命、人均 GDP 和人口資料。
import pandas as pd import plotly.express as px df = px.data.gapminder()
px.data.gapminder() 函式將 Gapminder 資料集載入到 Pandas DataFrame 中。DataFrame 包含 1952 年至 2007 年間每個國家/地區的資料。
步驟 3:建立克里金圖
下一步是使用 Plotly Express 中的克里金圖函式建立克里金圖。
fig = px.choropleth(df, locations="iso_alpha", color="gdpPercap", hover_name="country", animation_frame="year", projection="natural earth")
px.choropleth() 函式使用 DataFrame df 建立克里金圖。locations 引數指定 DataFrame 中包含 ISO 3166-1 alpha-3 國家/地區程式碼的列。
color 引數指定 DataFrame 中包含將由顏色表示的資料的列。在本例中,我們使用 gdpPercap 列,其中包含人均 GDP 資料。
hover_name 引數指定 DataFrame 中包含國家/地區名稱的列,當用戶將滑鼠懸停在地圖上的國家/地區時,將顯示這些名稱。
animation_frame 引數指定將用於建立動畫克里金圖的 DataFrame 中的列。在本例中,我們使用 year 列。最後,projection 引數指定要使用的地圖投影型別。在本例中,我們使用“自然地球”投影。
步驟 4:顯示克里金圖
最後一步是使用 show 函式顯示克里金圖。
fig.show()
這將在 Plotly 視覺化視窗中顯示克里金圖,如下所示:

Plotly 允許使用者以各種方式自定義克里金圖。以下是一些示例:
更改顏色刻度
Plotly 使用的預設顏色刻度是從藍色到紅色的漸變。但是,使用者可以使用 color_continuous_scale 引數將其更改為他們喜歡的任何顏色方案。例如,以下程式碼將顏色刻度更改為綠色顏色方案:
fig = px.choropleth( df, locations="iso_alpha", color="gdpPercap", hover_name="country", animation_frame="year", projection="natural earth", color_continuous_scale=px.colors.sequential.Greens )
這將在 Plotly 視覺化視窗中顯示克里金圖,如下所示:

新增顏色條
color_continuous_scale 引數還允許使用者向克里金圖新增顏色條。顏色條顯示地圖上每種顏色所代表的值範圍。要新增顏色條,請將 color_continuous_scale 引數設定為顏色刻度,並將 color_continuous_midpoint 引數設定為資料範圍內的值。例如:
fig = px.choropleth(df, locations="iso_alpha", color="gdpPercap", hover_name="country", animation_frame="year", projection="natural earth", color_continuous_scale=px.colors.sequential.Greens, color_continuous_midpoint=10000) fig.update_layout(coloraxis_colorbar=dict(title="GDP per Capita"))
color_continuous_midpoint 引數設定顏色刻度的中點,即對應於顏色條中中間顏色的值。update_layout 函式用於自定義顏色條。在本例中,我們將顏色條的標題設定為“人均 GDP”。
這將在 Plotly 視覺化視窗中顯示克里金圖,如下所示:

新增標題和標籤
使用者可以使用 title、xaxis_title 和 yaxis_title 引數向克里金圖新增標題和標籤。例如:
fig = px.choropleth(df, locations="iso_alpha", color="gdpPercap", hover_name="country", animation_frame="year", projection="natural earth", color_continuous_scale=px.colors.sequential.Greens, color_continuous_midpoint=10000, title="GDP per Capita by Country (1952-2007)", labels={"gdpPercap": "GDP per Capita", "year": "Year"}) fig.update_layout(title_x=0.5)
這將在 Plotly 視覺化視窗中顯示克里金圖,如下所示:

title 引數設定克里金圖的標題,labels 引數設定 X 軸和 Y 軸的標籤。update_layout 函式用於自定義繪圖的佈局。在本例中,我們使用 title_x 引數將標題的水平對齊方式設定為居中。
結論
使用 Plotly 建立克里金圖是一個簡單的過程,它提供了一種極好的方法來直觀地表示資料。透過遵循本教程中概述的指南,使用者可以建立資訊豐富、視覺吸引力強且根據其特定需求定製的克里金圖。
克里金圖是呈現資料的一種極好的方式,對於研究人員、資料分析師以及定期處理地理資料的其他人來說,它是一個必不可少的工具。