gpt4 book ai didi

python - 在 Altair 中保留上一层的工具提示

转载 作者:行者123 更新时间:2023-12-01 00:17:25 25 4
gpt4 key购买 nike

我正在 Altair 的 choropleth 图上添加州轮廓叠加
我的等值线图有工具提示。
当我将州轮廓分层在等值区域顶部时,我丢失了绘图的工具提示功能
有人对如何处理这个问题有想法吗?
任何帮助将不胜感激

import altair as alt

# saving data into a file rather than embedding into the chart
alt.data_transformers.enable('json')
alt.renderers.enable('notebook')
# alt.renderers.enable('jupyterlab')
from vega_datasets import data
import pandas as pd
from altair import Scale,Color

states = alt.topo_feature(data.us_10m.url, 'states')
counties = alt.topo_feature(data.us_10m.url+'#', 'counties')

dummy='#dbe9f6'
scheme='blues'
type1='linear'

fg = alt.Chart(counties).mark_geoshape(
stroke='black',
strokeWidth=0.05
).project(
type='albersUsa'
).transform_lookup(
lookup='id',
from_=alt.LookupData(fdf, 'fips', ['year','Pill_per_pop','BUYER_COUNTY', 'state'])
).transform_calculate(
Pill_per_pop='isValid(datum.Pill_per_pop) ? datum.Pill_per_pop : -1'
).encode(
color = alt.condition(
'datum.Pill_per_pop > 0',
alt.Color('Pill_per_pop:Q', scale=Scale(scheme=scheme,type=type1)),
alt.value(dummy)
),
tooltip=['BUYER_COUNTY:N', 'state:N','Pill_per_pop:Q','year:Q']
).properties(
width=700,
height=400,
title='Pills per 100k people'
)

outline = alt.Chart(states).mark_geoshape(stroke='black',strokeWidth=0.2).project(
type='albersUsa'
)

fg+outline


我的输出
enter image description here


但是,我无法找到保留上一层(即县级 map )的工具提示的方法

最佳答案

我明白了
定义一个新图表如下:

fg1 = alt.Chart(counties).mark_geoshape(
stroke='black',
strokeWidth=0.05
).project(
type='albersUsa'
).transform_lookup(
lookup='id',
from_=alt.LookupData(fdf, 'fips', ['year','Pill_per_pop','BUYER_COUNTY', 'state'])
).transform_calculate(
Pill_per_pop='isValid(datum.Pill_per_pop) ? datum.Pill_per_pop : -1'
).encode(
tooltip=['BUYER_COUNTY:N', 'state:N','Pill_per_pop:Q','year:Q']
).properties(
width=700,
height=400,
title='Pills per 100k people'
)

fg+outline+fg1

只需使用工具提示编码(而不是颜色编码)再次定义图表,并将其分层在上面的图表之上。

关于python - 在 Altair 中保留上一层的工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59224938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com