Проблемы с сохранением фигуры matplotlib в Windows - PullRequest
2 голосов
/ 17 марта 2019

В настоящее время я испытываю некоторые трудности при сохранении фигуры matplotlib в Windows (10). Я знаю, что нужно использовать необработанные строки, но даже используя их и убедившись, что путь указан правильно, выдается ошибка FileNotFoundError. Я также пытался с os.path.normpath, но это также было без происшествий. Вот соответствующие строки:

fig, ax = plt.subplots()
ax.plot(sin_i, sin_r, label='acrylic glass')
ax.plot(sin_i, sin_r_wtr, label='water')

ax.legend()

ax.set(xlabel=r'$sin(\alpha_{refracted})$', ylabel=r'$sin(\alpha_{incident})$',
       title=r'$f([sin(\alpha_{refracted}])$ for acrylic glass and water')

ax.grid()

#fig.savefig(r"c:\Users\julie\Pictures\PY3graph.png")
fig.savefig(os.path.normpath("c:/Users/julie/Pictures/PY3graph.png"))

и ошибка:

Traceback (most recent call last):
  File "PY_3_graphs.py", line 31, in <module>
    fig.savefig(r"PY_3_graph.png")
  File "C:\Users\julie\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\figure.py", line 2094, in savefig
    self.canvas.print_figure(fname, **kwargs)
  File "C:\Users\julie\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\backend_bases.py", line 2075, in print_figure
    **kwargs)
  File "C:\Users\julie\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\backends\backend_agg.py", line 521, in print_png
    cbook.open_file_cm(filename_or_obj, "wb") as fh:
  File "C:\Users\julie\AppData\Local\Programs\Python\Python37-32\lib\contextlib.py", line 112, in __enter__
    return next(self.gen)
  File "C:\Users\julie\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\cbook\__init__.py", line 407, in open_file_cm
    fh, opened = to_filehandle(path_or_file, mode, True, encoding)
  File "C:\Users\julie\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\cbook\__init__.py", line 392, in to_filehandle
    fh = open(fname, flag, encoding=encoding)
FileNotFoundError: [Errno 2] No such file or directory: 'c:\\Users\\julie\\Pictures\\PY3graph.png'

Попытка сохранить рисунок с помощью plt.show () также возвращает ошибку «Нет такого файла или каталога».

Я был бы очень благодарен за вашу помощь!

Matts

Обновление: код работает при сохранении на дополнительном жестком диске (например, d: \), но не на c: \. Я подозревал ошибку разрешения, но проблема сохраняется даже при предоставлении прав администратора для командной строки.

Обновление 2 : Я наконец понял, в чем причина. Новая функция «Доступ к контролируемым папкам», появившаяся в обновлении Fall Creators, кажется, лежит в основе проблемы, которую можно легко решить, разблокировав защищенные папки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...