Объединить текст и диаграммы данных с фасетом?

2
задан max 5 March 2019 в 16:39
поделиться

1 ответ

Проблема в том, что граненые диаграммы нельзя наслоить (это потому, что в общем случае нет гарантии, что два слоя будут иметь совместимые фасеты). С другой стороны, многослойные диаграммы могут быть огранены. Например:

# Import data
import altair as alt
from vega_datasets import data

source = data.cars()

# Configure common options
scale = alt.Scale(paddingInner=0)

# Configure heatmap
heatmap = alt.Chart().mark_rect().encode(
    alt.X('Cylinders:O', scale=scale),
    alt.Y('Year:O', scale=scale),
    color='count()'
)

# Configure text
text = alt.Chart().mark_text(baseline='middle').encode(
    x='Cylinders:O',
    y='Year:O',
    text='count()',
    color=alt.value('white')
)

# Draw the chart.
alt.layer(heatmap, text, data=source).facet(
    column='Origin'
)

enter image description here

Обратите внимание, что при использовании этого подхода важно указывать данные на уровне фасета, а не чем в дочерних слоях. Для получения дополнительной информации см. Граненые диаграммы в документах Альтаира.

Сообщение об ошибке здесь раньше было более полезным ... кажется, что библиотека jsonschema сообщает об ошибках проверки схемы иначе, чем раньше.

0
ответ дан jakevdp 5 March 2019 в 16:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: