渲染浮点时matplotlib agg标记

渲染浮点时matplotlib agg标记,matplotlib,render,backend,Matplotlib,Render,Backend,这与此处的问题相同:。除了没有人关注这个问题,所以说得更清楚一点: 我正在使用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等)时,Matplotlib(版本1.0.0)会发生这种情况,但我无法确定,因为机器上只有TkAgg可用)。这不是我

这与此处的问题相同:。除了没有人关注这个问题,所以说得更清楚一点:

我正在使用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等)时,Matplotlib(版本1.0.0)会发生这种情况,但我无法确定,因为机器上只有TkAgg可用)。这不是我的电脑,所以我没有root权限,但我可以和管理员谈谈,让他们知道这件事,但我也想了解一些细节

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

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

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


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

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')
产生这个结果的原因是:


如果我从出现这些奇怪方框的机器管理员那里得到解释,我会将其添加到答案中。同时,希望这对其他人有所帮助。

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

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')
产生这个结果的原因是:


如果我从出现这些奇怪方框的机器管理员那里得到解释,我会将其添加到答案中。同时,希望这对其他人有所帮助。

我认为您没有得到答案的原因是,这是一个非常局部的问题,很可能与您的系统配置有关。几乎没有任何人可以回答的信息。我想这可能与Agg在该系统上的编译方式有关。无论如何,如果我从管理员那里得到任何解释,我会把它贴在这里只是为了……我想你没有得到答案的原因是因为这是一个非常局部的问题,很可能与你的系统配置有关。几乎没有任何人可以回答的信息。我想这可能与Agg在该系统上的编译方式有关。不管怎样,如果我从管理员那里得到任何解释,我会把它贴在这里只是为了…作为你的编辑;您只为
plot
方法提供了一个列表,这使得该方法根据该列表的长度范围将给定列表绘制为y值。也就是说,绘制的x值是
范围(len([0,2])
,即
[0,1]
,使绘制点
(0,0)
(1,2)
->x限值应为0到1,而不是0到2。另一方面,y极限应该是0到2。你是对的,谢谢,我设置了错误的轴,这确实有效。删除了编辑,因为它不再需要了,并接受了答案,因为这是唯一的一个…至于你的编辑;您只为
plot
方法提供了一个列表,这使得该方法根据该列表的长度范围将给定列表绘制为y值。也就是说,绘制的x值是
范围(len([0,2])
,即
[0,1]
,使绘制点
(0,0)
(1,2)
->x限值应为0到1,而不是0到2。另一方面,y极限应该是0到2。你是对的,谢谢,我设置了错误的轴,这确实有效。删除了编辑,因为它不再需要了,并接受了答案,因为这是唯一的一个。。。