要使用Altair创建双变量颜色映射的地图,可以按照以下步骤进行操作:
pip install altair
import altair as alt
from vega_datasets import data
world_map = alt.topo_feature(data.world_110m.url, 'countries')
base_map = alt.Chart(world_map).mark_geoshape(
fill='lightgray',
stroke='white'
).properties(
width=800,
height=400
)
country_data = alt.topo_feature(data.world_110m.url, 'countries')
map_chart = alt.Chart(country_data).mark_geoshape().encode(
color='property:Q',
tooltip=['country:N', 'property:Q']
).transform_lookup(
lookup='id',
from_=alt.LookupData(data=your_data, key='country', fields=['property'])
).project('identity')
这里的'property'是数据集中包含的第一个变量名称,'country'是数据集中的国家名称,'your_data'是包含双变量数据的数据集。
base_map + map_chart
完整的示例代码如下所示:
import altair as alt
from vega_datasets import data
# 加载世界地图数据集
world_map = alt.topo_feature(data.world_110m.url, 'countries')
# 创建基础地图
base_map = alt.Chart(world_map).mark_geoshape(
fill='lightgray',
stroke='white'
).properties(
width=800,
height=400
)
# 加载包含双变量数据的数据集
country_data = alt.topo_feature(data.world_110m.url, 'countries')
# 创建包含颜色映射的地图
map_chart = alt.Chart(country_data).mark_geoshape().encode(
color='property:Q',
tooltip=['country:N', 'property:Q']
).transform_lookup(
lookup='id',
from_=alt.LookupData(data=your_data, key='country', fields=['property'])
).project('identity')
# 显示地图
base_map + map_chart
请确保将"your_data"替换为你自己的双变量数据集。