изменить силу сглаживания в matplotlib - PullRequest
28 голосов
/ 14 октября 2011

Можно ли увеличить сглаживание в matplotlib? Я до сих пор вижу некоторые псевдонимы в моих данных, я пробовал несколько бэкэндов, и они все еще там Флаг сглаживания линий установлен.

Здесь вы можете увидеть, что я имею в виду

enter image description here

Это образец, взятый из скриншота. Вероятно, это не лучший пример, но я думаю, что можно увидеть лестницу в очереди. Он был взят с бэкэндом wxagg.

Я использую Matplotlib версии 1.01 с Windows 7.

Обновление: У меня нет кода, который произвел предыдущее изображение, но у меня все еще есть проблема. Ниже приведен простой пример кода, который показывает псевдонимы.

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 ]

5 голосов
/ 07 ноября 2013

Если вы сохраните изображение как файл .svg, у вас будет бесконечная точность. Затем вы можете отредактировать этот .svg с помощью чего-то вроде InkScape и получить столько точности / сглаживания, сколько хотите.

5 голосов
/ 01 февраля 2012

Изображение, добавленное вами к вашему вопросу, уже идеально сглажено. Это не становится лучше, чем это. Взгляните на увеличенную версию изображения:

Upscaled version of the image in question

...