В пакете визуализации данных питонов altair я застрял с mark_bar. Кажется, что mark_bar может обрабатывать только дискретные значения по крайней мере на одной оси. Однако я хочу, чтобы поведение, похожее на geom_segment в ggplot, другими словами, возможность рисовать горизонтальные линии с указанием x-begin, x-end и высоты по y, например:
Как видите, сегменты также могут перекрываться, что я и хочу. Используя Альтаир, я ближе всего получаю, используя mark_bar вот так:
import altair as alt
import pandas as pd
source = pd.DataFrame([
{"importance": "1.2", "start": 1, "end": 3},
{"importance": "10", "start": 8, "end": 10},
{"importance": "1", "start": 3, "end": 8}
])
alt.Chart(source).mark_bar().encode(
x='start',
x2='end',
y='importance'
)
, что дает:
Когда я установил
y='importance:Q'
это не работает должным образом, вместо этого я получаю:
Часть этой проблемы я действительно я люблю простоту, и я ценю любую помощь в этом.