軸ラベル「Temperature(℃)」を印刷したい。どうすればいいのですか?スニペットは次のとおりです。
# -*- 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 (℃)')
私が試した最後の行について:
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)')
わからない。私はspyderを使用していて、そこからコードを実行しています。
LaTeXインタープリターを使用して度記号を作成します。
ax.set_xlabel('Temperature ($^\circ$C)')
結果は次のとおりです。
ax.set_xlabel(u'Temperature (℃)')
動作するはずです:
In [56]: matplotlib.__version__
Out[56]: '1.0.1'
DEGREE CELSIUS U + 2103(℃)の代わりに、DEGREE SIGN U + 00B0(°)の後に大文字を使用します。これは、フォントの適用範囲など、いくつかの理由ではるかに安全です。 nicode Standard (15.2文字様記号;p。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()
または:
ax.set_xlabel(u'Temperature (\N{DEGREE SIGN}C)')
TeXおよび非TeXと互換性を持たせたい場合は、おそらく両方の方法を使用して、前にif rcParams['text.usetex']
でテストする必要があります-手。これは ベースマップでどのように行われるか たとえばです。
Spyderユーザー向けのアップデート:
$ ^\circ $-動作します!
\ N {DEGREESIGN}-小文字のガンマ記号を表示します。.