#tooltip #legend #altair #choropleth
#всплывающая подсказка #легенда #altair #хороплет
Вопрос:
Я пытаюсь сделать так, чтобы «Процент» всплывающей подсказки был фактическим процентом, а не десятичным. Даже когда я включаю alt.Tooltip('Percentage:Q',format='.2%')
, это, кажется, не работает.
Кроме того, я пытаюсь сделать масштаб легенды от 0-100% вместо 40-70%.
Любая помощь будет признательна!
import altair as alt
from vega_datasets import data
states = alt.topo_feature(data.us_10m.url, 'states')
variable_list = ['Percentage', 'State Name', 'state_id']
alt.Chart(states).mark_geoshape().encode(
color=alt.Color('Percentage:Q', title='Positive NFB', legend=alt.Legend(format=".0%"), scale=alt.Scale(scheme='yellowgreen')),
tooltip=['State Name:N', 'Percentage:Q', alt.Tooltip('Percentage:Q',format='.2%')]).properties(title="Percentage of People in Households with Positive NFB"
).transform_lookup(
lookup='id',
from_=alt.LookupData(states_positive_NFB, 'state_id', variable_list)
).properties(
width=500,
height=300
).project(
type='albersUsa'
)
Ответ №1:
- Чтобы изменить область цветовой шкалы, вы можете передать
domain
аргументalt.Scale()
: напримерalt.Scale(scheme='yellowgreen', domain=[0, 1])
- Чтобы формат всплывающей подсказки отображался, вы можете удалить дублирующуюся кодировку всплывающей подсказки, поскольку первая, по-видимому, имеет приоритет. То есть, вместо
tooltip=['State Name:N', 'Percentage:Q', alt.Tooltip('Percentage:Q',format='.2%')]
вы должны использовать
tooltip=['State Name:N', alt.Tooltip('Percentage:Q', format='.2%')]
Комментарии:
1. Можно ли добавлять проценты непосредственно к отдельным состояниям? Или всплывающая подсказка — единственный вариант?
2. @MorganMcCue Можно использовать
mark_text()
с долготой и широтой, аналогично этому примеру altair-viz.github.io/gallery/airports_count.html