Показать только указанные c фасет в Альтаире Python - PullRequest
1 голос
/ 28 февраля 2020

Используя Альтаир, я хотел бы построить только определенные c графики для данного фасета. Например, используя наборы данных Vega, я хотел бы строить автомобили только для Европы. Я знаю, как разделить 3 графика, используя фасет, но мне не удалось понять, как показать только один график.

import altair as alt
from vega_datasets import data

source = data.cars()

chart = alt.Chart(source).mark_circle(size=60).encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
    tooltip=['Name', 'Origin', 'Horsepower', 'Miles_per_Gallon']
)

chart.facet(row='Origin')

Это приводит к 3 рядам графика для Европы, Японии и США. Как бы я go собирался показать только один из этих или двух из трех?

1 Ответ

2 голосов
/ 28 февраля 2020

Вы можете использовать преобразование фильтра , чтобы ограничить данные, отображаемые на вашем графике. Например, это ограничивает аспекты для США и Европы:

import altair as alt
from vega_datasets import data

source = data.cars()

chart = alt.Chart(source).mark_circle(size=60).encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
    tooltip=['Name', 'Origin', 'Horsepower', 'Miles_per_Gallon']
).transform_filter(
    (alt.datum.Origin == 'USA') | (alt.datum.Origin == 'Europe')
)
chart.facet(row='Origin')

enter image description here

...