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 eliminar una línea de cuadrícula específica?

Por favor, consulta la imagen del gráfico de resultados a continuación.

Deseo eliminar solo una línea de cuadrícula mayor en el valor del eje y de 10 (línea horizontal azul), y mantener todas las demás líneas de cuadrícula.

¿Existe alguna forma de hacerlo?

Imagen del gráfico: enlace a la imagen

    plt.rcParams['font.family'] = 'Arial'
    fig, ax = plt.subplots(figsize=(14.78, 9.84))
    plt.xlim(0, 105)
    plt.ylim(0, 10)
    ax.xaxis.set_minor_locator(AutoMinorLocator(2))
    ax.yaxis.set_minor_locator(AutoMinorLocator(2))
    ax.spines['bottom'].set_linewidth(1.5)
    ax.spines['left'].set_linewidth(1.5)
    ax.spines['top'].set_linewidth(0)
    ax.spines['right'].set_linewidth(0)
    # Configuración de la cuadrícula
    plt.grid(True, color='#0100FF', which="major", ls="-")
    plt.grid(True, color='#0BC904', which="minor", ls="-")
    plt.xlabel("Amplitud del Indicador, %FSH", fontsize=28, labelpad=15)
    plt.ylabel("Salida del Generador de Funciones, V", fontsize=28, labelpad=15)
    # Configuración de los ejes
    plt.tick_params(which="major", labelsize=22, length=10, pad=10, width=1.5)
    plt.tick_params(which="minor", length=8, width=1.5)
    # Graficar dispersión y línea
    plt.plot(FSH_axis, x_value[2:], color='black', marker='^', linewidth=1.5, markersize=8, label="40 dB")
    plt.plot(FSH_axis, y_value[2:], color='red', marker='o', linewidth=1.5, markersize=8, label="60 dB")
    plt.plot(FSH_axis, z_value[2:], color='blue', marker='v', linewidth=1.5, markersize=8, label="80 dB")

    plt.legend(loc=(1 / 16, 58 / 90), ncol=1, fontsize=20, frameon=True, framealpha=1, edgecolor="black")
    plt.show()
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de eliminar solo una línea de cuadrícula principal en el valor del eje y de 10 (línea horizontal azul), y mantener todas las demás líneas de cuadrícula.

    Puedes lograr esto configurando el parámetro alpha de la función grid en 0 para la línea de cuadrícula específica que deseas eliminar. En este caso, puedes modificar la función grid de la siguiente manera:

    plt.grid(True, color='#0100FF', which="major", ls="-", alpha=1)  # mantener todas las líneas de cuadrícula principales
    plt.grid(True, color='#0BC904', which="minor", ls="-", alpha=1)  # mantener todas las líneas de cuadrícula menores
    plt.grid(True, color='blue', which="major", ls="-", alpha=0)    # eliminar la línea horizontal azul en y=10
    

    Esto establece el parámetro alpha en 0 solo para la línea horizontal azul en y=10, mientras mantiene visibles todas las demás líneas de cuadrícula.

    Aquí está el código modificado:

    plt.rcParams['font.family'] = 'Arial'
    fig, ax = plt.subplots(figsize=(14.78, 9.84))
    plt.xlim(0, 105)
    plt.ylim(0, 10)
    ax.xaxis.set_minor_locator(AutoMinorLocator(2))
    ax.yaxis.set_minor_locator(AutoMinorLocator(2))
    ax.spines['bottom'].set_linewidth(1.5)
    ax.spines['left'].set_linewidth(1.5)
    ax.spines['top'].set_linewidth(0)
    ax.spines['right'].set_linewidth(0)
    # Configuración de la cuadrícula
    plt.grid(True, color='#0100FF', which="major", ls="-", alpha=1)  # mantener todas las líneas de cuadrícula principales
    plt.grid(True, color='#0BC904', which="minor", ls="-", alpha=1)  # mantener todas las líneas de cuadrícula menores
    plt.grid(True, color='blue', which="major", ls="-", alpha=0)    # eliminar la línea horizontal azul en y=10
    plt.xlabel("Amplitud del Indicador, %FSH", fontsize=28, labelpad=15)
    plt.ylabel("Salida del Generador de Funciones, V", fontsize=28, labelpad=15)
    # Configuración de los ejes
    plt.tick_params(which="major", labelsize=22, length=10, pad=10, width=1.5)
    plt.tick_params(which="minor", length=8, width=1.5)
    # Plot scatter & line
    plt.plot(FSH_axis, x_value[2:], color='black', marker='^', linewidth=1.5, markersize=8, label="40 dB")
    plt.plot(FSH_axis, y_value[2:], color='red', marker='o', linewidth=1.5, markersize=8, label="60 dB")
    plt.plot(FSH_axis, z_value[2:], color='blue', marker='v', linewidth=1.5, markersize=8, label="80 dB")
    
    plt.legend(loc=(1 / 16, 58 / 90), ncol=1, fontsize=20, frameon=True, framealpha=1, edgecolor="black")
    plt.show()
    

    Esto producirá el mismo gráfico que antes, pero con la línea horizontal azul en y=10 eliminada de las líneas de cuadrícula principales.

    ¡Espero que esto sea de ayuda!

Comments are closed.