簡體   English   中英

將度數符號插入 python plot

[英]Inserting a degree symbol into python plot

這是一個非常簡單的問題,但它是 escaping 我。 我只是想在我的 python plot 的標題和圖例中插入一個學位符號。代碼如下。 謝謝。

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()

使用 LaTeX 樣式。 例如: $^\\circ$ Text會產生°Text

有關打印(尤其是數學表達式)的更多信息,請參閱matplotlib 文檔

在您的情況下,代碼必須是: plt.xlabel('Manufactured Ply Angle $^\\circ$')

表達式的 TeX 部分必須用美元符號“$”括起來。

使用 LaTeX 數學。 在我的系統上,最好的視覺外觀是通過

label = r'$45\\degree$'

它看起來與極坐標圖的默認 theta 標簽完全一樣。

正如其他人指出的那樣

  • 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))

使用度數 unicode 符號,特別是如果其他符號不需要 LaTeX。

U+00B0: °

在python3中,它只是: plt.xlabel("Manufactured Ply Angle (°)")

類似於達達主義者給出的答案,這對我生成學位符號也有效:

\N{degree sign}

所以,在你的例子中它會是

plt.xlabel('Manufactured Ply Angle (\N{degree sign})')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM