问题描述
就像我们可以在连接图表或分面图表中的一个图表中突出显示一个点,并且在另一个图表中突出显示相应的点一样,我想知道是否可以这样做带有工具提示。
我已经能够使用mark_text
进行演示,如下所示。但是最大的挑战是不能将多种编码显示为文本。只需在列表中提及所有编码,工具提示就可以轻松实现。所以我在想是否可以在altair中做到这一点。
或者这不是工具提示的预期行为,并且即使其他图表可能具有共同的选择,它们也只能突出显示鼠标悬停的点吗?
无论我使用工具提示尝试过什么,都只能在单个图表中使用,尽管突出显示的其他点也不会显示工具提示。
代码:
import altair as alt
from vega_datasets import data
source = data.cars()
highlight = alt.selection(type='single',on="mouSEOver",empty='none')
base = alt.Chart(source).encode(
y='Miles_per_gallon',color=alt.condition(highlight,'Origin',alt.ColorValue('gray')),)
mpg = base.mark_point().encode(
x='Horsepower',size=alt.condition(highlight,alt.value(150),alt.value(50))).add_selection(
highlight
)
acc = base.mark_point().encode(
x='acceleration',alt.value(50))).add_selection(
highlight
)
text_mpg = base.mark_text(dx=5,dy=-10,size=15).encode(
x='Horsepower',y='Miles_per_gallon',text=alt.condition(highlight,'Horsepower:Q',alt.value('')),)
text_acc = base.mark_text(dx=5,size=15).encode(
x='acceleration','acceleration:Q',)
(mpg+text_mpg)|(acc+text_acc)
但是我开始觉得这不是工具提示的预期行为。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)