使用 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_titleyaxis_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 建立克里金圖是一個簡單的過程,它提供了一種極好的方法來直觀地表示資料。透過遵循本教程中概述的指南,使用者可以建立資訊豐富、視覺吸引力強且根據其特定需求定製的克里金圖。

克里金圖是呈現資料的一種極好的方式,對於研究人員、資料分析師以及定期處理地理資料的其他人來說,它是一個必不可少的工具。

更新於:2024-02-22

457 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告