Вероятно, это проблема с бэкэндом macosx для matplotlib. Переключитесь на использование альтернативного бэкенда для matplotlib (например, используйте qt4 вместо 'macosx'). Подробнее о том, как переключить серверную часть и что именно это означает, см. в здесь. Обратите внимание, что вам, возможно, придется сначала установить серверную часть - например. pyqt
использовать qt4agg
серверную часть, как я предлагаю здесь.
Таким образом, серверная часть имеет дело с выводом из matplotlib, а matplotlib может ориентироваться на разные форматы вывода. Это могут быть выходные форматы графического интерфейса (например, wx
, qt4
и т. д.) или выходные файлы (например, pdf
). Они известны как интерактивные и неинтерактивные серверные части соответственно.
Чтобы изменить бэкэнд, выполните
import matplotlib
matplotlib.use('qt4agg')
в коде или, если вы хотите изменять каждый раз при запуске matplotlib, отредактируйте настройки файла matplotlibrc внутренний атрибут, например.
backend: Qt4Agg
Н.Б. Меня предупредил комментарий о том, что после публикации этого ответа документы matplotlib теперь ссылаются на эту проблему и предлагают обходной путь, хотя Комментатор отметил, что решение, предложенное в этом ответе (переключиться на бэкэнд Qt), сработало для них, где обходной путь с официальной документацией был для них невозможен.
person
J Richard Snape
schedule
16.10.2015
pip freeze
как в глобальном, так и в виртуальном окружении и сравните. Также посмотрите, совпадает ли сама версия Python. Также может быть, что matplotlib использует разные бэкенды, поэтому также проверьтеmatplotlib.get_backend()
. - person swenzel   schedule 13.10.2015