Подтвердить что ты не робот

Изменить силу сглаживания в matplotlib

Можно ли увеличить сглаживание в 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

В частности, нижняя красная кривая показывает четкое сглаживание.

4b9b3361

Ответ 1

Картина, добавленная в ваш вопрос, уже отлично сглажена. Это не лучше. Посмотрите увеличенную версию изображения:

Upscaled version of the image in question

Ответ 2

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