Van egy mark_area
diagramom, amely látszólag értelmetlen sorrendben halmozódik fel. Inkább úgy rendelném a rétegeket, hogy alul a legnagyobb legyen, felül pedig csökkenjen.
Íme egy kép a grafikonról, a kívánt sorrenddel megjelölve:
Próbáltam egy játékpéldát készíteni:
import random
import altair as alt
seed = {"date": pd.date_range('1/1/2019',periods=20,freq="M"),
"jack": random.sample(range(100, 500), 20),
"roy":random.sample(range(20, 90), 20),
"bill":random.sample(range(600, 900), 20),
}
df = pd.DataFrame.from_dict(seed)
df = df.melt(id_vars="date", var_name="person", value_name="measure")
alt.renderers.enable('notebook')
alt.Chart(df).mark_area().encode(
x=alt.X(
'date',
),
y=alt.Y(
'measure',
),
color='person',
)
Ez automatikusan létrehozza a diagramot, például:
Megpróbáltam újra felhasználni néhány másutt talált varázsigét, de csendben nincs hatásuk. Nincs különbség, hogy „növekvő” vagy „csökkenő” kifejezést használok:
alt.Chart(df).mark_area().encode(
x=alt.X(
'date',
),
y=alt.Y(
'measure',
sort=alt.EncodingSortField(
field="measure",
op="sum",
order="ascending")
),
color='person',
)
range(20, 90)
értéketrange(20, 200)
értékre, amint azt ebben a példában tette. 14.04.2020