matplotlib在渲染浮点时刻度

时间:2013-07-18 06:35:13

标签: matplotlib render backend

这与此处的问题相同:python odd axis ticks, matplotlib。除非没有人关注这个问题,所以要更清楚一点:

我正在使用Linux机器:

$ uname -a
$ Linux stokes1 2.6.32.59-0.3-default #1 SMP 2012-04-27 11:14:44 +0200 x86_64 x86_64 x86_64 GNU/Linux

所以当使用Agg(v2.2;我怀疑的任何组合,如TkAgg等但是我无法检查确定因为机器上只有TkAgg)时,Matplotlib(版本1.0.0)会发生这种情况。这不是我的电脑,所以我没有root访问权限,但我可以与管理员交谈并告诉他们,但我也希望得到一些有关此事的详细信息。

所以基本上如果你看一下图片就可以看到问题。现在我发现只有当滴答是浮点数时才会发生这种情况。我不认为这是一个字体问题,因为我使用标准的Bitstream Vera,如果我使用svg作为后端,也不会发生这种情况。

这可以通过以下方式复制:

import matplotlib as m
m.use('tkagg')
from pylab import *
plot()
show()

x, y floating point ticks

y floating point, x integer ticks

1 个答案:

答案 0 :(得分:1)

我没有找到浮点数周围框的问题的答案,但机器的管理员给了我一个解决方法:

import matplotlib as m
m.use('agg')
import matplotlib.pyplot as plt
from matplotlib.ticker import FormatStrFormatter

plt.gca().xaxis.set_major_formatter(FormatStrFormatter('%.1f'))
plt.gca().yaxis.set_major_formatter(FormatStrFormatter('%.1f'))
plt.plot()
plt.savefig('test')

产生这个结果: workaround for floating point number boxes

如果我从机器管理员那里得到一个奇怪的盒子出现的解释,我会把它添加到答案中。同时希望这有助于某人。