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 hacer un gráfico de barras interactivo en ambos ejes x e y utilizando Altair.

Cómo hacer que el gráfico de barras sea interactivo. Me refiero a que quiero desplazarme tanto en el eje x como en el eje y.

A continuación, he pegado el código:

import altair as alt
import pandas as pd
df = pd.read_csv('graph.csv')
alt.Chart(df).mark_bar(orient='vertical').encode(
    x = alt.X('SWIPE_START_DATETIME'),
    x2 = alt.X2('SWIPE_END_DATETIME'),
    y='NO_OF_HOURS',
    tooltip=['SWIPE_START_DATETIME','SWIPE_END_DATETIME','NO_OF_HOURS']
).interactive()

Soy capaz de desplazarme a lo largo de un eje utilizando el código anterior.

¿Puede alguien ayudarme a modificar el código?

Tags:  ,

Answer

  1. Avatar for davy.ai

    ¿Cómo hacer que el gráfico de barras sea interactivo tanto en el eje x como en el eje y?

    Para hacer que el gráfico de barras sea interactivo tanto en el eje x como en el eje y, debemos agregar dos canales de codificación adicionales al gráfico. Podemos agregar el canal y2 para el desplazamiento del eje y y el canal tooltip para mostrar los detalles de las barras al pasar el cursor sobre ellas. Aquí está el código modificado:

    import altair as alt
    import pandas as pd
    
    df = pd.read_csv('graph.csv')
    
    alt.Chart(df).mark_bar(orient='vertical').encode(
        x=alt.X('SWIPE_START_DATETIME'),
        x2=alt.X2('SWIPE_END_DATETIME'),
        y=alt.Y('NO_OF_HOURS'),
        y2=alt.Y2(0),
        tooltip=['SWIPE_START_DATETIME', 'SWIPE_END_DATETIME', 'NO_OF_HOURS']
    ).interactive()
    

    En el código modificado, agregamos el canal y2 y lo configuramos en 0 para crear un eje y fijo. Ahora podemos desplazarnos a lo largo del eje y para ver las barras. También agregamos el canal tooltip para mostrar más detalles sobre las barras cuando el usuario pasa el cursor sobre ellas.

Comments are closed.