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 usar alt.condition() en alt.color(condition=)?

Soy un traductor de español que traduce documentos de TI. Traduce lo siguiente al español. No traduzcas el código y la salida en markdown.

Soy nuevo en Altair, así que quiero poder ver mi código más claramente. Es por eso que intento usar la versión de codificación larga. Mi problema es que no pude encontrar documentación sobre cómo usar una alt.color(condition=). ¿Cómo puedo usar condition=, preferiblemente con alt.condition()?

brush = alt.selection_interval()

alt.Chart(cars).mark_point().encode(
    alt.Y("Horsepower"),
    alt.X("Miles_per_Gallon", title="consumption"),
    #alt.Tooltip(["Name", "Origin"]),
    #color=alt.condition(brush, 'Origin:N', alt.value('White')) Sé que con esta línea mi código funcionará
    alt.Color(condition= alt.condition(brush,
                   alt.Color('Origin:N', legend=None),
                   alt.value('lightgray')))
).add_selection(
    brush
)
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para usar condition= con alt.condition() puedes seguir la siguiente sintaxis:

    alt.condition(condition, if_true, if_false)
    

    En tu caso, para usar alt.condition() con alt.color(), puedes modificar tu código de la siguiente manera:

    brush = alt.selection_interval()
    
    alt.Chart(cars).mark_point().encode(
        alt.Y("Horsepower"),
        alt.X("Miles_per_Gallon", title="consumption"),
        alt.Color(
            condition=alt.condition(
                brush,
                alt.Color("Origin:N", legend=None),
                alt.value("lightgray")
            )
        )
    ).add_selection(
        brush
    )
    

    Esto creará una escala de color condicional basada en la selección brush. Si hay una selección, coloreará los puntos según la variable “Origin”, de lo contrario usará el color predeterminado “lightgray”.

Comments are closed.