在python图中插入度数符号

Posted

技术标签:

【中文标题】在python图中插入度数符号【英文标题】:Inserting a degree symbol into python plot 【发布时间】:2013-11-24 10:17:42 【问题描述】:

这是一个非常简单的问题,但它让我无法理解。我只是想在我的 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$'

它看起来与极坐标图的默认 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))

【讨论】:

极坐标等值线图中的 numpy 数组标签示例中的度数描述示例(最后的那个)非常有帮助。非常感谢! =) \degree 看起来比 ^\circ 好。【参考方案3】:

使用度数 unicode 符号,尤其是当您不需要 LaTeX 来表示其他符号时。

U+00B0:°

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

【讨论】:

以上是关于在python图中插入度数符号的主要内容,如果未能解决你的问题,请参考以下文章

如何在Azure SQL数据仓库中输入度数符号(°)

如何在pyvis python网络图中插入图像?

在 PyCharm 中编辑 python 代码时如何“向前移动插入符号”?

在 Tkinter Python 中的条目小部件内设置默认插入符号位置

python pymysql 文本插入符号错误

插入符号 (^) 运算符有啥作用?