es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo ocultar las etiquetas de las subparcelas en un gráfico con facetas?

Este código:

import altair as alt
from vega_datasets import data

alt.Chart(data.iris()).mark_point().encode(
    x='petalLength:Q',
    y='petalWidth:Q',
    facet=alt.Facet('species:N', header=alt.Header(labels=False, title=None), columns=3)
).properties(
    width=250,
    height=250
)

produce este gráfico:

chart

He añadido líneas rojas debajo de lo que creo que se llaman “etiquetas” de los subplots. ¿Cómo puedo eliminarlas? Esta pregunta preguntó cómo cambiarlas, y @jakevdp dijo que eso es imposible. Esta pregunta preguntó cómo eliminarlas (igual que yo), y @jakevdp aún no ha respondido. Usaron el parámetro column para eliminar las etiquetas, pero cuando lo intento, se queja del parámetro columns que estoy utilizando. Quiero tanto (a) eliminar las etiquetas como (b) limitar el número de subplots por fila, con ajuste automático de filas.

Tags:  

Answer

  1. Avatar for davy.ai

    Para eliminar las etiquetas de los subgráficos en Altair, puedes agregar el parámetro header=None a alt.Facet(). Esto eliminará el encabezado de cada subgráfico y, por lo tanto, eliminará las etiquetas.

    Para limitar el número de subgráficos por fila y permitir el ajuste automático de filas, puedes usar la función alt.Resolve(). Establece x/y en "independent" y facet en "wrap", y luego agrega resolve_scale() para limitar el número de columnas. Aquí tienes un ejemplo:

    import altair as alt
    from vega_datasets import data
    
    alt.Chart(data.iris()).mark_point().encode(
        x='petalLength:Q',
        y='petalWidth:Q',
        facet=alt.Facet('species:N', header=None),
        columns=3
    ).properties(
        width=250,
        height=250
    ).resolve_scale(
        x='independent',
        y='independent',
        facet='wrap'
    )
    

    Esto eliminará las etiquetas de los subgráficos y limitará el número de columnas a tres, ajustando los subgráficos en filas según sea necesario.

Comments are closed.