我在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()
输出:
/主页/thatsme/.cache/matplotlib
2.2.2
{幽默无'}
所以,安装了幽默sans,我删除了字体缓存,以防万一,正如其他线程建议的那样,我增加了抖动参数,但仍然没有XKC修改的迹象:
奇怪的是,我在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图:
去掉
用:
陈述带回了第一个数字。在Linux和Windows上同样的行为,所以看起来是matplotlib版本的问题。
编辑:现在我们知道这是一个暂时的,有限的错误,回到主要问题-
How to get rid of the white edgecolor in xkcd