python - 使用 matplotlib 在 python 中的 xkcd 注释中不会中断行

标签 python matplotlib

我想知道使用 xkcd 的绘图中的换行符是如何工作的。如果我使用

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

plt.show()

(Example from here)

输出符合预期,但没有 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/

相关文章:

python - 在 Matplotlib 中填充 x 和基线 x 位置

python - 向 Bokeh 堆叠条形图添加交互

python - blender:如何使用 python 导出形状键?

python - 标题和标签未显示在直方图中

python - 如何在matplotlib中绘制范围条形图?

python - 在 html 文件中使用图表(使用 matplotlib 用 python 编写)

python - 访问另一个实例的损坏成员

python - 如何在 Python 中改进水印图像?

rdkit.Chem.rdmolfiles.MolToMolBlock(NoneType) 中的 Python 参数类型

python - 在 matplotlib 中清除轴时保留自动缩放