我的图表的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进行此操作?
感谢您的任何建议。
答案 0 :(得分:3)
两个选项:
在这两种情况下,都要提供单位"°C"
。
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()