2

xkcd を使用したプロットの改行はどのように機能するのだろうか。私が使用する場合

import matplotlib.pyplot as plt
#plt.xkcd()
plt.annotate('Testing\nThis\nOut', xy=(0.5, 0.5))

plt.show()

(例はこちらから)

出力は期待どおりですが、xkcding はありません。コメントplt.xkcd()インすると、'Testing' の後の注釈が消えます。

Mac0SXのポートでインストールしたpython3.3と2.7、py33&py27-matplotlibで試してみました。

4

1 に答える 1

3

plt.xkcd()MacOSXあなたが使用していると思われるmatplotlibバックエンドでは十分にサポートされていません。これは改行を超えて拡張されます。軸も波状ではなく、まっすぐです。詳細については、この問題を参照してください。

そこで提案されているように、別のバックエンドを使用することが推奨される解決策です。IPython ノートブックで作業している場合、inlineバックエンドはうまく機能します。たとえば、

ipython notebook --pylab inline

あなたのコードは で正しく動作しplt.xkcd()ます。

QT4Aggバックエンドも機能します。そのバックエンドを使用するには、コードの最初に次を追加できます。

import matplotlib
matplotlib.use('QT4Agg')

ただし、そのバックエンドがインストールされている必要があり、Qt4/PyQt4 が必要です。

于 2013-08-12T00:30:32.023 に答える