Вставка символа степени в график python
Это действительно простая проблема, но она ускользает от меня. Я просто пытаюсь вставить символ степени в заголовки и легенды моего сюжета python. Код ниже. Спасибо.
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()
Ответы
Ответ 1
Используйте стиль LaTeX. Например: $^\circ$ Text
создаст °Text
Подробнее о печати (особенно математическом выражении) см. matplotlib documentation.
В вашем случае код должен быть: plt.xlabel('Manufactured Ply Angle $^\circ$')
Часть TeX выражения должна быть заключена знаками доллара "$".
Ответ 2
Использовать математику LaTeX.
В моей системе лучший внешний вид достигается с помощью
label = r'$45\degree$'
и он выглядит точно так же, как и тета-метки по умолчанию полярного графика.
Как отмечали другие, такие клоды, как
-
label = r'$45^\circ$'
-
label = '$45^o$'
и т.д.. работа тоже, но визуальный внешний вид не так хорош.
В моей системе эти обходные пути создают слишком маленький символ.
YMMV, таким образом, вы можете попробовать, что лучше всего выглядит в ее системе.
Например, на графике полярного контура, где радиус равен синусу зенитного угла
можно использовать
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))