На нем показаны несколько временных рядов < /li>
Я могу выбрать, какие временные ряды отображаются, нажимая на Legend < /li>
, если серия не отображается в Lipe -Li. Невыбранный в легенде, тогда вы все еще можете увидеть ее в легенде < /li>
Цвета строк остаются последовательными, независимо от того, какие временные ряды выбираются или не выбраны < /li>
< /ul>
Pre Class = "LLM Prite-Prite-Prite-over-over-over-over-over-over-over-over-over-over-over-over-over-over-over-over-over
Код: Выделить всё
import pandas as pd
import altair as alt
dates = pd.date_range(start="2023-01-01", periods=10)
data = {
"Date": dates.tolist() * 3,
"Value": [10, 20, 15, 30, 25, 35, 40, 45, 50, 55] +
[5, 15, 10, 20, 15, 25, 30, 35, 40, 45] +
[2, 12, 8, 18, 14, 22, 28, 32, 38, 42],
"Device": ["Device A"] * 10 + ["Device B"] * 10 + ["Device C"] * 10
}
df = pd.DataFrame(data)
# Create a selection object for the legend
aselection = alt.selection_multi(fields=["Device"], bind="legend")
# Create the Altair chart
achart = alt.Chart(df).mark_line().encode(
x="Date:T",
y="Value:Q",
color="Device:N" # Keep the color consistent
).transform_filter(
aselection # Filter data based on the selection
).add_selection(
aselection
).properties(
title="Interactive Time Series Plot"
)
achart
x="Date:T",
y="Value:Q",
color="Device:N", # Keep the color consistent
opacity=alt.condition(aselection, alt.value(1), alt.value(0.2)) # Hide unselected lines
).add_selection(
aselection
).properties(
title="Interactive Time Series Plot"
)
< /code>
Теперь легенда работает так, как я хочу (вы можете выбрать несколько серий путем переключения смены), но невыбранные временные ряды все еще отображаются на графике, просто в более жарком цвете. Если я сделаю диаграмму интерактивной, то конечный пользователь часто будет в конечном итоге нажимать на невыбранную серию случайно, так что это определенно не то, что я тоже хочу.
Есть ли способ сделать то, что я хочу?
Подробнее здесь: https://stackoverflow.com/questions/796 ... ime-series