Estoy creando muy simples gráficos con matplotlib /pylab módulo de Python. La letra «y» que las etiquetas del eje Y está en su lado. Que sería de esperar si la etiqueta era más largo, como una palabra, para no alargar el exterior de la gráfica a la izquierda demasiado. Pero para una carta de la etiqueta, esto no tiene sentido, la etiqueta debe estar en posición vertical. Mis investigaciones han llegado en blanco. ¿Cómo puedo imprimir la «y» horizontal?

InformationsquelleAutor Karl D | 2014-12-27

2 Comentarios

  1. 84

    Es muy simple. Después de que el trazado de la etiqueta, usted puede simplemente cambiar la rotación:

    from matplotlib import pyplot as plt
    plt.ion()
    plt.plot([1,2,3])
    h = plt.ylabel('y')
    h.set_rotation(0)
    plt.draw()

    Alternativamente, usted puede pasar a la rotación como un argumento, yo.e

    plt.ylabel('y',rotation=0)
    • Genial, que hace el trabajo. Gracias!
    • En una nota de lado, se puede pasar la rotación directamente en plt.ylabel. (por ejemplo,plt.ylabel('y', rotation=0))
    • Hey que es elegante. Gracias, Joe.
    • Eso es correcto. No me fijé en la documentación, simplemente utiliza el punto de culminación en el mango
  2. 40

    Expansión en la aceptó responder, cuando trabajamos con un particular ejes objeto ax:

    ax.set_ylabel('abc', rotation=0, fontsize=20, labelpad=20)

    Tenga en cuenta que a menudo la labelpad tendrá que ser ajustado manualmente, de lo contrario el «abc» se entrometen en la trama.

    De experimentos de corta duración supongo que labelpad es la diferencia entre el cuadro delimitador de los rótulos de marcas de graduación, y el eje y sello del centro. (Por lo tanto, no es el relleno que el nombre implica — habría sido más intuitiva si este era el espacio a la etiqueta del cuadro delimitador en su lugar.)

    • para mayor claridad, usted podría considerar la posibilidad de rotation='horizontal'. También, en lugar de elegir a un arbitrario labelpad (y, a continuación, la necesidad de ajustar basado en los resultados), se puede agregar el argumento ha='right', donde ha es una abreviación conveniente para el horizontalalignment palabra clave.

Dejar respuesta

Please enter your comment!
Please enter your name here