заполнить между двумя строками альтаир - PullRequest
5 голосов
/ 20 июня 2019

Я хочу выделить область между 2 строками в Альтаире.results : lines filled

Я попытался проверить, использует ли решение mark_area(), но не могу найти способ указать нижний предел для данных.

мои данные (несколько строк):

index   created     pct_pl_transit  pct_pl_transit_max
0   1970-01-01 00:00:00     49.627697   60.056873
2   1970-01-01 01:00:00     43.800967   55.301460
4   1970-01-01 02:00:00     41.440480   49.757740
6   1970-01-01 03:00:00     37.879753   40.352226
8   1970-01-01 04:00:00     36.691287   19.429075

мой график:

base=alt.Chart(lien_traf_gest_traf_lapi).encode(x=alt.X('created', axis=alt.Axis(title='Heure', format='%Hh%M')))
line_pct_pl_lapi=base.mark_line(color='blue').encode(y=alt.Y('pct_pl_transit:Q', axis=alt.Axis(title='Nombre de PL SIREDO')))
line_pct_max=base.mark_line().encode(y='pct_pl_transit_max')
line_pct_max+line_pct_pl_lapi

1 Ответ

5 голосов
/ 20 июня 2019

Вы можете использовать кодировки y и y2 с mark_area(), чтобы заполнить область между двумя значениями. Например:

import altair as alt
import pandas as pd

df = pd.DataFrame({
    'x': range(5),
    'ymin': [1, 3, 2, 4, 5],
    'ymax': [2, 1, 3, 6, 4]
})

alt.Chart(df).mark_area().encode(
    x='x:Q',
    y='ymin:Q',
    y2='ymax:Q'
)

enter image description here

...