web-dev-qa-db-ja.com

度数記号を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()
28
user2739143

LaTeXスタイルを使用します。例:_$^\circ$ Text_は_°Text_を生成します

印刷の詳細については、 matplotlib documentation を参照してください(特に数式)。

あなたの場合、コードはplt.xlabel('Manufactured Ply Angle $^\circ$')でなければなりません

式のTeX部分は、ドル記号「$」で囲む必要があります。

37
Mailerdaimon

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))
5
dadaist