小编Pie*_*e B的帖子

Matplotlib找不到字体

我试图在Python 3下用matplotlib(版本1.4.2)绘制一个xkcd风格的图.

当我尝试运行时:

import matplotlib.pyplot as plt
plt.xkcd()
plt.plot([1,2,3,4], [1,4,9,16], 'bo')
plt.axis([0, 6, 0, 20])
plt.show()
Run Code Online (Sandbox Code Playgroud)

它打开一个没有任何图像的空窗口,我收到错误:

/usr/lib/python3/dist-packages/matplotlib/font_manager.py:1279: UserWarning: findfont: Font family ['Humor Sans', 'Comic Sans MS', 'StayPuft'] not found. Falling back to Bitstream Vera Sans
  (prop.get_family(), self.defaultFamily[fontext]))
/usr/lib/python3/dist-packages/matplotlib/font_manager.py:1289: UserWarning: findfont: Could not match :family=Bitstream Vera Sans:style=normal:variant=normal:weight=normal:stretch=normal:size=medium. Returning /usr/share/matplotlib/mpl-data/fonts/ttf/STIXSizOneSymReg.ttf
  UserWarning) Exception in Tkinter callback
Run Code Online (Sandbox Code Playgroud)

我安装了Humor Sans.我查了一下fc-list | grep Humor.它也可以在Libre Office等其他程序中使用.我也安装了staypuft.还不够吗?

上面相同的代码,但没有plt.xkcd()位完美无缺.

plt.show()的替代方法,如pylab.savefig()对xkcd代码不起作用,但在不使用xkcd的情况下对相同代码没有任何问题.

python fonts matplotlib python-3.x

8
推荐指数
4
解决办法
4733
查看次数

Python:使用列表理解生成几何级数

在 Python 中,我可以单独使用列表推导式生成几何级数吗?我不知道如何引用添加到列表中的元素。

这就像编写 python 代码来计算几何级数生成列表 - 几何级数

python list-comprehension list python-3.x

5
推荐指数
2
解决办法
1万
查看次数

Python中的舍入

round(1.4 999 999 999 999 999)(不带空格)四舍五入为 2,但 round(1.4 99 999 999 999 999)(不带空格)四舍五入为 1。

我想这与不精确的浮点表示有关,但无法理解第一个表示如何解释为更接近 2 而不是 1。

floating-point rounding python-3.x

3
推荐指数
1
解决办法
287
查看次数

了解Python地图功能+范围

我试图理解这些代码行之间的区别:

list(''.join(map(lambda x: str(x * 3), range(1, 4))))
Run Code Online (Sandbox Code Playgroud)

出:['3', '6', '9']正如所料.

然而:

list(''.join(map(lambda x: str(x * 5), range(1, 4))))
Run Code Online (Sandbox Code Playgroud)

产出['5', '1', '0', '1', '5'],而我预计:['5','10','15']

以同样的方式

[x for x in map(lambda x: str(x * 5), range(1, 4))]
Run Code Online (Sandbox Code Playgroud)

输出['5','10','15'].

这有什么不对?

python python-3.x map-function

3
推荐指数
1
解决办法
3364
查看次数