繁体   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