[英]Altair choropleth map visualization issue
我是初學者,所以這可能是顯而易見的。 我嘗試將本指南與 Python 的 Altair package 結合使用來制作等值線 map。所有代碼運行良好,除了最后一個代碼。 基本上,標題為“choro”的 Altair 圖表應該用顏色“填充”我的 map 上的行政區划,但沒有做任何事情。 生成的 map 如果我將它覆蓋在背景上,則與背景本身相同,只是邊框筆觸略有不同。 我不需要標簽,所以我省略了那個。
准確地說,這是我的代碼:
choro = alt.Chart(choro_data).mark_geoshape(
fill='lightgray',
stroke='black'
).encode(
alt.Color('properties.unemp',
type='quantitative',
scale=alt.Scale(scheme='bluegreen'),
title = "Unemployment by county")
).project(
type= 'mercator',
scale= 2000,
center= [20,47],
clipExtent= [[0, 0], [400, 300]]
)
如果相關,'unemp' 的類型是浮點數。
問題是什么? 指南是否過時? 我錯過了一些明顯的東西嗎?
fill='lightgray'
type
以外的任何內容時,投影都會產生錯誤import geopandas as gpd
import pandas as pd
import requests
import altair as alt
# california counties
gdf = gpd.read_file(
"https://raw.githubusercontent.com/codeforgermany/click_that_hood/main/public/data/california-counties.geojson"
)
# california un employment
df = pd.json_normalize(
requests.get("https://data.edd.ca.gov/resource/e6gw-gvii.json").json()
).loc[lambda d: d["area_type"].eq("County") & d["seasonally_adjusted_y_n"].eq("N")]
# make names consistent between geometry and unemployment data
df["name"] = df["area_name"].str.split(" ").apply(lambda l: " ".join(l[0:-1]))
df["unemp"] = pd.to_numeric(df["unemployment_rate"])
# join geometry and unemployment data
gdf = gdf.merge(df, on="name")
geojson = gdf.loc[:, ["name", "unemp", "geometry"]].__geo_interface__
choro_data = alt.Data(values=geojson["features"])
choro = (
alt.Chart(choro_data)
.mark_geoshape(stroke="black")
.encode(
alt.Color(
"properties.unemp",
type="quantitative",
scale=alt.Scale(scheme="bluegreen"),
title="Unemployment by county",
)
)
.project(
type="mercator",
# scale=2000, center=[20, 47], clipExtent=[[0, 0], [400, 300]]
)
)
choro
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.