Почему я получаю UserWarning: Matplotlib в настоящее время использует ps, который не является бэкэндом GUI, поэтому не может показать рисунок - PullRequest
0 голосов
/ 22 января 2019

Это не записная книжка jupyter, поэтому это не дубликат этого вопроса , но мой код:

from gluoncv import model_zoo, data, utils
from matplotlib import pyplot as plt

...
plt.show()

Я получаю ошибку:

/figure.py:445: UserWarning: Matplotlib is currently using ps, which is a non-GUI backend, so cannot show the figure.
  % get_backend())

Я создал репл на https://repl.it/@shamoons/WelloffHarmfulMineral

Если это имеет значение, я использую OS X. Что мне нужно сделать, чтобы получить изображение для показа?

Ответы [ 2 ]

0 голосов
/ 05 мая 2019

Вы можете использовать

matplotlib.use("TkAgg")

вместо

matplotlib.use("PS")

при разработке под MacOS.

Обратите внимание, что импорт должен быть до импорта plt, например:

import matplotlib
matplotlib.use('TkAgg')
from matplotlib import pyplot as plt
0 голосов
/ 22 января 2019

matplotlib.use('PS') и plt.show() являются взаимоисключающими. Вам необходимо решить:

  • Хотите показать фигуру на экране? Решение: Удалить строку matplotlib.use('PS').
  • Хотите использовать PS бэкэнд? Это кажется маловероятным, потому что редко есть причина установить в бэкэнде что-то неинтерактивное, если оно не работает на сервере. В любом случае, решение: заменить plt.show() на plt.savefig("filname.ps").
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...