带散点p的牵牛星链接地图

2024-04-20 07:58:00 发布

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

我试图创建一个类似于示例herehere的链接图。我要一边是散点图,另一边是地图。散点图中的点将在地图上相应的地理位置上显示为点。一旦我在散点图上选择了几个点,我只想看到地图上的那些点,反之亦然。但是,我无法完成。你知道吗

我认为问题在于基准,或者这些曲线的x轴和y轴上使用的值。散点图的基础仅使用值(dataframe,选择两个数字列),而geomap有lat和long(topojson文件,用于将点添加到地图上的纬度和经度列)。您可以将数据集视为来自vegasets:data.airports()的数据集,其中包含两个以上的数值列。拓扑结构为data.us_10m.url

有没有办法在他们之间建立联系?你知道吗


Tags: 数据示例dataframedatahere链接地图基准
1条回答
网友
1楼 · 发布于 2024-04-20 07:58:00

US Airports示例图开始并添加一个附带的散点图,您可以执行以下操作:

import altair as alt
from vega_datasets import data

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

# US states background
background = alt.Chart(states).mark_geoshape(
    fill='lightgray',
    stroke='white'
).properties(
    width=500,
    height=300
).project('albersUsa')

# airport positions on background
points = alt.Chart(airports).mark_circle(
    size=10,
).encode(
    longitude='longitude:Q',
    latitude='latitude:Q',
    tooltip=['name', 'city', 'state'],
    color=alt.condition(selection, alt.value('steelblue'), alt.value('lightgray'))
)

#lat/lon scatter
scatter = alt.Chart(airports).mark_point().encode(
    x='longitude:Q',
    y='latitude:Q',
    color=alt.condition(selection, alt.value('steelblue'), alt.value('lightgray'))   
).add_selection(
    selection
)

scatter | (background + points)

enter image description here

请注意,地理投影当前不支持间隔选择,因此无法在地图本身上选择点。你知道吗

相关问题 更多 >