我想知道使用 xkcd 的绘图中的换行符是如何工作的。如果我使用
import matplotlib.pyplot as plt
#plt.xkcd()
plt.annotate('Testing\nThis\nOut', xy=(0.5, 0.5))
plt.show()
输出符合预期,但没有 xkcding。注释plt.xkcd()
中,后面的注解
“测试”消失。
我在 Mac0SX 上使用安装有端口的 python3.3 和 2.7、py33 和 py27-matplotlib 进行了尝试。
最佳答案
plt.xkcd()
不能很好地支持 MacOSX
matplotlib 后端,我假设您正在使用它。这超出了换行符的范围;轴也是直的,而不是波浪形的。请参阅this issue了解更多信息。
正如那里所建议的,使用另一个后端是推荐的解决方案。如果您使用 IPython 笔记本,inline
后端将运行良好;例如,使用
ipython notebook --pylab inline
您的代码将与 plt.xkcd()
一起正常工作。
QT4Agg
后端也可以工作。要使用该后端,您可以将以下内容添加到代码的最开头:
import matplotlib
matplotlib.use('QT4Agg')
但是,这需要您安装后端,这需要 Qt4/PyQt4。
关于python - 使用 matplotlib 在 python 中的 xkcd 注释中不会中断行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18171521/