a d*_*ben 11 python unicode latex matplotlib
我想打印一个轴标签:"温度(℃)".我该怎么做?一个片段是这样的:
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
x = range(10,60,1)
y = range(-100, 0, 2)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x,y)
ax.set_xlabel('Temperature (?)')
Run Code Online (Sandbox Code Playgroud)
对于最后一行,我尝试过:
ax.set_xlabel('Temperature (?)'.encode('utf-8'))
ax.set_xlabel(u'Temperature (u\2103)')
ax.set_xlabel(u'Temperature (?)')
ax.set_xlabel(u'Temperature (\u2103)')
ax.set_xlabel('Temperature (\u2103)')
Run Code Online (Sandbox Code Playgroud)
我只是不明白.我正在使用spyder并从那里运行代码.
Car*_* F. 22
使用LaTeX解释器制作度数符号.
ax.set_xlabel('Temperature ($^\circ$C)')
Run Code Online (Sandbox Code Playgroud)
结果如下:

ax.set_xlabel(u'Temperature (?)')
Run Code Online (Sandbox Code Playgroud)
应该管用:

In [56]: matplotlib.__version__
Out[56]: '1.0.1'
Run Code Online (Sandbox Code Playgroud)
而不是DEGREE CELSIUS U + 2103(℃),使用DEGREE SIGN U + 00B0(°)后跟大写字母.由于几个原因,包括字体覆盖,这更安全.它也是Unicode标准中推荐的方式(15.2字母符号;第481页).
要在没有 LaTex 解释器的情况下在 matplotlib 中执行此操作,请使用 unicode 格式和unicode 字符串
from numpy import arange, cos, pi
from matplotlib.pyplot import (figure, axes, plot, xlabel, ylabel, title,
grid, show)
figure(1, figsize=(6,4))
ax = axes([0.1, 0.1, 0.8, 0.7])
t = arange(0.0, 1.0 + 0.01, 0.01)
s = 3*cos(2*pi*t)+25
plot(t, s)
title('Average High Temperature')
xlabel('Year')
ylabel(u'Temp (\u00B0C)')
grid(True)
show()
Run Code Online (Sandbox Code Playgroud)