example python matplotlib symbols

example - plot python



Insertar un símbolo de grado en el diagrama de python (2)

Use estilo LaTeX. Por ejemplo: $^/circ$ Text produciría °Text

Consulte la documentación de matplotlib para obtener más información sobre la impresión (especialmente la expresión matemática).

En su caso, el código debe ser: plt.xlabel(''Manufactured Ply Angle $^/circ$'')

La parte TeX de la expresión debe estar rodeada por signos de dólar "$".

Este es un problema realmente simple pero me está escapando. Solo intento insertar un símbolo de grado en los títulos y leyendas de mi trama de pitón. El código está abajo. Gracias.

from numpy import * import numpy as np import matplotlib.pyplot as plt theta1 = linspace(0,60,610) theta2 = linspace(0,45,460) theta3 = linspace(45,90,460) CTS = 1/cos(radians(theta1)) CTS0 = 1/cos(radians(60-theta2)) CTS45 = 1/cos(radians(105-theta3)) plt.plot(theta1,CTS,label=u''CTS Head at 0'',linewidth=2) plt.plot(theta2,CTS0,label=''CTS Head at 60'',linewidth=2) plt.plot(theta3,CTS45,label=''CTS Head at 105'',linewidth=2) plt.xlabel(''Manufactured Ply Angle (degrees)'') plt.ylabel(''Thickness'') plt.legend( loc=''lower right'', numpoints = 1 ) plt.ylim([0,2.5]) plt.grid(b=None, which=''major'', axis=''both'') plt.grid(color=''k'', linestyle=''--'', linewidth=0.5) plt.axhline(y=1.035, xmin=0, xmax=90,color=''k'', linestyle=''-'', linewidth=1) plt.show()


Usa la matemática LaTeX. En mi sistema, la mejor apariencia visual se logra con

label = r''$45/degree$''

y se ve exactamente como las etiquetas theta predeterminadas de una trama polar.

Como otros han señalado kludges como

  • label = r''$45^/circ$''
  • label = ''$45^o$''

etc. también funcionan pero la apariencia visual no es tan buena. En mi sistema, estas soluciones ofrecen un símbolo que es un poco demasiado pequeño. YMMV, así uno puede querer probar lo que se ve mejor en su sistema.

Por ejemplo, en un diagrama de contornos polares donde el radio es seno del ángulo cenital uno puede querer usar

deg_labels = np.array([5, 10, 20, 30, 45, 60, 90]) ax.set_rgrids(np.sin(np.deg2rad(deg_labels)), labels=(r"${:.0f}/degree$".format(_) for _ in deg_labels))