Как обновить гистограмму на основе выбора точек (Альтаир)? - PullRequest
1 голос
/ 16 октября 2019

Моя цель - обновить гистограмму, показанную справа от 1 , на основе выбора точек на левой стороне. Изначально сюжет кажется нормальным, однако после выбора гистограмма перерисовываться не будет (altair 3.2.0)

Кто-нибудь знает, как это сделать?

hist should be updated upon selection of the points on the left

ниже приведен код для воссоздания примера:

import altair as alt
import pandas as pd
import numpy as np
from random import choice

dates = pd.date_range("1.1.2019", "2.28.2019")
np.random.seed(999)
Y = np.random.normal(0.5, 0.1, len(dates))
features = [choice(["a", "b", "c"]) for i in range(len(dates))]
df = pd.DataFrame({"dates": dates, "Y": Y, "features": features})

base = alt.Chart(df)
area_args = {"opacity": 0.3, "interpolate": "step"}
pts = alt.selection(type="interval", encodings=["x"])
points = (
    base.mark_circle()
    .encode(alt.X("dates:T"), alt.Y("Y:Q"), color="features:N")
    .add_selection(pts)
)

yscale = alt.Scale(domain=(0, 1))
right_hist = (
    base.mark_area(**area_args)
    .encode(
        alt.Y(
            "Y:Q", bin=alt.Bin(maxbins=20, extent=yscale.domain), stack=None, title=""
        ),
        alt.X("count()", stack=None, title=""),
        alt.Color("features:N"),
    )
    .transform_filter(pts)
)

(points | right_hist)

edit1 : еще одно изображение, чтобы прояснить мою точку зрения @ jvp

enter image description here

...