改变matplotlib中抗锯齿的强度

时间:2011-10-14 12:07:29

标签: python matplotlib antialiasing

是否可以增加matplotlib中的抗锯齿效果? 我仍然可以在我的数据中看到一些别名,我尝试了几个后端,它仍然存在。线路的抗锯齿标志已设置。

在这里你可以看到我的意思

enter image description here

这是一个取自截图的样本。这可能不是最好的例子,但我想可以看到线路上的楼梯。它是用wxagg后端拍摄的。

我在Windows 7中使用matplotlib版本1.01。

更新: 我没有生成上一张图片的代码,但我仍然有问题。下面是一个显示别名的简单代码示例。

import numpy as np
import matplotlib
matplotlib.use('wxAgg')
import matplotlib.pyplot as pl
print 'Backend:', pl.get_backend()

x = np.linspace(0,6,100)
y = np.sin(x)

for a in range(10):
    pl.plot( x, a/10.*x, linewidth=1)

pl.show()

打印Backend: WXAgg 结果图如下所示。 aliasing

特别是下面的红色曲线显示清晰的锯齿。

2 个答案:

答案 0 :(得分:5)

您添加到问题中的图片已经完全消除锯齿。它没有比这更好的了。看一下图像的缩放版本:

Upscaled version of the image in question

答案 1 :(得分:5)

如果将图片保存为.svg文件,则无限精度。然后,您可以使用InkScape之类的东西编辑此.svg,并根据需要获得多少精度/抗锯齿。