gpt4 book ai didi

python - Matplotlib 2.2.2 无法 xkcdify 图

转载 作者:太空宇宙 更新时间:2023-11-04 02:24:15 25 4
gpt4 key购买 nike

我在 Python 3.5.2 中使用 matplotlib 2.2.2

当我尝试使用 matplotlib 的 xkcd 函数时,我得到了一个正常的图形:

import matplotlib
print(matplotlib.get_cachedir())
print(matplotlib.__version__)

import matplotlib.font_manager
x = [f.name for f in matplotlib.font_manager.fontManager.ttflist if f.name.startswith("Humor")]
print(set(x))

from matplotlib import pyplot as plt
import numpy as np

plt.xkcd(scale=10, length=100, randomness=20)
plt.plot(np.sin(np.linspace(0, 10)))
plt.title('Whoo Hoo!!!')
plt.show()

输出:

/home/thatsme/.cache/matplotlib
2.2.2
{'Humor Sans'}

因此,安装了 Humor Sans,我删除了字体缓存,以防万一,正如其他线程所建议的,我增加了抖动参数,但仍然没有 xkcdification 的迹象:

enter image description here

奇怪的是,我在 Ubuntu 16.04 和 Windows 10 上安装了 Eclipse 作为双引导,但 xkcd 功能在两个系统上都失败了。我原以为这些系统之间的 Python 和 Eclipse 安装存在显着差异,但我们就是这样。
任何想法,可能是什么问题?

编辑:正如 Hans 所指出的,这可能是 matplotlib 2.2.2 特有的问题
更奇怪 - 如果我使用 with : 运行相同的脚本而不进行任何其他更改,例如

with plt.xkcd(scale=10, length=100, randomness=20):
plt.plot(np.sin(np.linspace(0, 10)))
plt.title('Whoo Hoo!!!')
plt.show()

输出是预期的 xkcd 图: enter image description here

删除 with : 语句会返回第一个数字。同样的行为在 Linux 和 Windows 上再次出现,所以看起来是 matplotlib 版本问题。

编辑:现在我们知道这是一个暂时的、有限的错误,回到主要问题 - How to get rid of the white edgecolor in xkcd

最佳答案

这是一个纯粹存在于 matplotlib 2.2 中的错误。问题是垃圾收集器太快了。参见 this comment and below .

这意味着目前您需要在上下文中使用 xkcd 样式以使其工作。问题should be fixed in the next release .因此,问题中的代码在 current development version 中按预期工作.

关于python - Matplotlib 2.2.2 无法 xkcdify 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50855834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com