Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用温度符号-°创建刻度;matplotlib中的C_Python_Matplotlib - Fatal编程技术网

Python 如何使用温度符号-°创建刻度;matplotlib中的C

Python 如何使用温度符号-°创建刻度;matplotlib中的C,python,matplotlib,Python,Matplotlib,我有一张y轴的图表,代表一年中某些日子的温度。我想把摄氏度转换成y标签上的实际刻度。这是我到目前为止使用的代码和下面的图表 plt.ylabel('°C',fontsize = 30) plt.yticks(np.arange(miny,maxy, step=20)) plt.tick_params(labelsize=20) 以前的答案集中在unicode问题上,但我发现matplotlib可以将°C符号作为字符串的一部分。我的问题是如何将其放入y轴上的刻度 是否有任何方法可以使用tick

我有一张y轴的图表,代表一年中某些日子的温度。我想把摄氏度转换成y标签上的实际刻度。这是我到目前为止使用的代码和下面的图表

plt.ylabel('°C',fontsize = 30)
plt.yticks(np.arange(miny,maxy, step=20))
plt.tick_params(labelsize=20)

以前的答案集中在unicode问题上,但我发现matplotlib可以将°C符号作为字符串的一部分。我的问题是如何将其放入y轴上的刻度

是否有任何方法可以使用tick_params执行此操作

谢谢您的建议。

有两种选择:

  • (Mis)使用
  • 使用
在这两种情况下,提供装置
“°C”


我没有使用子批,尝试了plt.yaxis.set\u major\u格式化程序(StrMethodFormatter(u“{x:.0f}°C”))。它不将yaxis识别为属性。我该怎么做呢?谢谢。
yaxis
轴的属性。您可以通过
plt.gca()
从pyplot获取当前轴。但是无论如何都要考虑使用OO风格。
import matplotlib.pyplot as plt
from matplotlib.ticker import EngFormatter, StrMethodFormatter

fig, (ax,ax2) = plt.subplots(ncols=2)

ax.plot([0,1],[-35,30])
ax.yaxis.set_major_formatter(EngFormatter(unit=u"°C"))

ax2.plot([0,1],[-35,30])
ax2.yaxis.set_major_formatter(StrMethodFormatter(u"{x:.0f} °C"))

plt.tight_layout()
plt.show()