Ошибка при сохранении анимации matplotlib, отсутствует аргумент 'dpi' - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь сохранить анимацию matplotlib.animation.AnimationFunc и получаю сообщение об ошибке, в котором отсутствует аргумент 'dpi'.Очевидно, у меня есть набор dpi, поэтому я не понимаю, откуда эта ошибка.

Я использую Python 3.6 и Matplotlib 3.0.3, я также только что установил ffmpeg из официальных репозиториев Ubuntu (Ubuntu 18.04).

Это часть моего кода, которая должна повлиять на это, хотя я думаю, что это должно быть что-то из системы:

Writer = writers['ffmpeg']
writer = Writer(fps=15, metadata=dict(artist='Me'), bitrate=1800,)
ani = FuncAnimation(fig, anime, interval=time_step *
                    10**3, frames=F, repeat=False,) 
ani.save('standard_map.mp4', writer=Writer, dpi=100)

Ошибки:

with writer.saving(self._fig, filename, dpi):
File "/usr/lib/python3.6/contextlib.py", line 159, in helper
    return _GeneratorContextManager(func, args, kwds)
File "/usr/lib/python3.6/contextlib.py", line 60, in __init__
    self.gen = func(*args, **kwds) TypeError: saving() missing 1 required positional argument: 'dpi'

Я попытался добавить строки, которые они там предложили, и ошибка все та же.

plt.rcParams['animation.ffmpeg_path'] = '/usr/bin/ffmpeg'

Я также попытался изменить средство записи на 'imagemagick', установленное в Ubuntu по умолчанию, и ошибка сохраняется.

1 Ответ

1 голос
/ 16 мая 2019

Нет параметра dpi, переданного ani.save(), укажите его:

ani.save('standard_map.mp4', writer=Writer, dpi=100)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...