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.

Xlsxwriter ocultar serie de datos en gráfico de dispersión

He utilizado xlsxwriter para añadir varias series de datos diferentes a un gráfico. Lo que me gustaría hacer ahora es desactivar ciertas series de forma predeterminada, pero aún así tener las series desactivadas disponibles para reactivar al ver el gráfico.

Por ejemplo, en la siguiente imagen, aunque xlsxwriter añade todas las series como quiero, también me gustaría no mostrar “Sample2” y “Sample3” mientras muestro “Sample1” de forma predeterminada.

La única función que he encontrado que hace algo similar sería la siguiente:

# Eliminar/ocultar las series con índice 0 y 2 de la leyenda.
chart.set_legend({'delete_series': [0, 2]})

Parece que lo “elimina” más que ocultarlo, porque si intento activarlas de nuevo, no aparecen. Tal vez no sea posible a través de xlsxwriter, pero ¿hay alguna otra forma en la que pueda implementar esta funcionalidad?

Imagen disponible aquí

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para desactivar ciertas series de forma predeterminada y aún así tener la opción de volver a habilitarlas más tarde usando xlsxwriter, es posible utilizar el método chart.set_y_axis() para establecer las propiedades del eje en el gráfico. Específicamente, la propiedad ‘visible’ se puede establecer en False para las series que deben estar deshabilitadas de forma predeterminada.

    Por ejemplo, para desactivar ‘Muestra2’ y ‘Muestra3’ y dejar habilitada ‘Muestra1’, se puede utilizar el siguiente código:

    chart.set_y_axis({
        'visible': True,          # establecido en True por defecto
        'major_gridlines': {
            'visible': True
        },
        'num_format': '#,##0',
        'line': {
            'width': 1.25,
            'color': 'black'
        },
        'major_tick_mark': 'inside',
        'minor_tick_mark': 'none',
        'font': {'size': 10},
        'delete_series': [0, 2],  # delete_series elimina estas series de la leyenda
        'plot_order': [1, 3, 4]   # orden de las series (Muestra1, Muestra2, Muestra3)
    })
    

    La propiedad ‘delete_series’ se utiliza para eliminar las series especificadas de la leyenda. Esto significa que aunque ‘Muestra2’ y ‘Muestra3’ no aparecerán inicialmente en la leyenda o en el gráfico, seguirán estando disponibles para volver a habilitarse más tarde. Para volver a habilitar cualquier serie desactivada, la propiedad ‘visible’ se puede establecer en True para esa serie.

    Tenga en cuenta que este método solo deshabilita las series en el propio gráfico: los datos de todas las series siguen incluidos en el archivo de Excel y se pueden acceder y manipular según sea necesario.

Comments are closed.