设置Altair choropleth贴图颜色的格式

2024-06-16 12:07:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用色标在choropleth地图上对百分比进行编码。如何设置刻度的格式以显示百分比值(例如10%)而不是分数值(例如0.1)?我知道对于一个常规的X或Y轴你可以做axis=alt.Axis(format='.0%'),但是我不知道如何使用这种色阶的格式。你知道吗

import altair as alt
import pandas as pd
from vega_datasets import data
alt.renderers.enable('notebook')

airports = pd.read_csv(data.airports.url)
airports = airports.groupby('state').agg({'iata': 'count'})
airports['id'] = range(1, len(airports) + 1)
airports['pct'] = airports['iata'] / airports['iata'].sum()

states = alt.topo_feature(data.us_10m.url, feature='states')

alt.Chart(states).mark_geoshape().encode(
    color='pct:Q'
).transform_lookup(
    lookup='id',
    from_=alt.LookupData(airports, 'id', ['pct'])
).project('albersUsa')

enter image description here


Tags: fromimportidurldataas格式alt
1条回答
网友
1楼 · 发布于 2024-06-16 12:07:04

颜色编码的legend属性接受控制图例比例格式的format参数:

alt.Chart(states).mark_geoshape().encode(
    color=alt.Color('pct:Q', legend=alt.Legend(format=".0%"))
).transform_lookup(
    lookup='id',
    from_=alt.LookupData(airports, 'id', ['pct'])
).project('albersUsa')

enter image description here

更多信息请参见alt.Legend documentation。你知道吗

相关问题 更多 >