Сюжеты Matplotlib не отображаются в Mac OSX? - PullRequest
66 голосов
/ 25 марта 2010

Я использую Mac OSX 10.5.8. Я установил matplotlib, используя macports. Я получил несколько примеров из галереи matplotlib, как эта, без изменений:

http://matplotlib.sourceforge.net/examples/api/unicode_minus.html

Я запускаю его, не получаю ошибки, но изображение не отображается. В Linux Ubuntu я понял.

Вы знаете, что здесь может быть не так?

Спасибо

Ответы [ 11 ]

89 голосов
/ 13 февраля 2016

У меня была такая же проблема, даже я мог видеть, как новое окно приложения было создано и сразу исчезло.

Простое решение - просто проверьте, есть ли у вас

plt.show()

после сюжета

45 голосов
/ 25 марта 2010

Я тоже могу это проверить.Чтобы исправить это, вот что я сделал

sudo port install py25-matplotlib +cairo+gtk2
sudo port install py26-matplotlib +cairo+gtk2

Кроме того, нам нужно изменить серверную часть по умолчанию на основанную на графическом интерфейсе.

Редактировать файл ~/.matplotlib/matplotlibrc и добавить:

backend: GTKCairo

Кроме того, вы можете попробовать следующее, что может позволить вам не использовать бэкэнды GTK или Cairo.Отредактируйте ~/.matplotlib/matplotlibrc и добавьте:

backend: MacOSX

С портом с установленными этими вариантами это также работает, но для него не требуется X11.


Кстати,ошибка, которую я увидел, была следующей:

/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/backends/__init__.py:41: UserWarning: 
Your currently selected backend, 'Agg' does not support show().
Please select a GUI backend in your matplotlibrc file ('/Users/wlynch/.matplotlib/matplotlibrc') or with matplotlib.use()
(backend, matplotlib.matplotlib_fname()))
40 голосов
/ 18 августа 2015

Вот что у меня сработало. Я только что изменил импорт Matplotlib

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
10 голосов
/ 25 марта 2010

при попытке

plt.savefig('myfilename.png')

вместо

plt.show()

сохраняет ли это правильное изображение с именем myfilename.png в текущем пути?

3 голосов
/ 28 июня 2013

Вот что у меня сработало:

brew install pkg-config
brew link pkg-config
brew install pygtk
brew install freetype
brew install libpng

sudo ln -s /usr/local/Cellar/freetype/*/lib/pkgconfig/freetype2.pc /usr/local/lib/pkgconfig/freetype2.pc

git clone git@github.com:matplotlib/matplotlib.git
cd matplotlib
python setup.py build
python setup.py install

Ссылки:

http://blog.caoyuan.me/2012/08/matplotlib-error-mac-os-x/ http://matplotlib.org/faq/installing_faq.html#install-from-git http://www.tapir.caltech.edu/~dtsang/python.html

3 голосов
/ 02 февраля 2011

просто чтобы добавить заметку,

Файл matplotlibrc отсутствовал в моей системе, и мне пришлось загрузить копию с веб-сайта matplotlib. Будущим пользователям, возможно, придется сделать то же самое.

2 голосов
/ 04 ноября 2011

У меня был только Python 2.5, и я не хотел устанавливать Python 2.6 на моем Mac. Поэтому для решения этой проблемы я использовал другую процедуру, указанную в следующей ссылке:

http://www.gtkforums.com/viewtopic.php?f=3&t=54928

То, что действительно нужно, это следующие шаги:

1) Поиск, где находится каталог "pygtk-2.0.pc" и найдите его. Например, мой был расположен в следующем каталоге:

/ Opt / местные / Библиотека / pkg-config

2) Добавление информации о пути в переменную окружения. Например:

PKG_CONFIG_PATH=/opt/local/lib/pkgconfig
export PKG_CONFIG_PATH

3) Загрузите файл информации о конфигурации "matplotlibrc" с веб-сайта matplotlib http://matplotlib.sourceforge.net/_static/matplotlibrc

4) Измените в файле бэкэнд на MacOSX и сохраните его

5) Скопируйте файл в каталог .matplotlib Вы можете найти каталог в python с помощью следующей команды:

import matplotlib
matplotlib.get_configdir()
1 голос
/ 07 июня 2019

Mac поставляется со своим собственным питоном ( прочитано отсюда , что не является лучшим), я бы предложил просто установить некий Python 3.7 или около того вместе с Anaconda, а затем представить их в качестве интерпретаторов для PyCharm. все будет работать нормально, и вам не нужно добавлять специальные решения, такие как «backend: MacOSX» или около того.

0 голосов
/ 27 марта 2019
sudo port install py37-matplotlib +cairo+gtk3
~/.matplotlib/matplotlibrc used 
backend: MacOSX

Работает в MacOS Mojave 10.14.4 с python 3.7 на примере unicode_minus.py выше.

0 голосов
/ 07 февраля 2019

В качестве временной работы можно сохранить рисунок в .png / .jpg / .pdf и использовать этот файл на данный момент.

## assuming price is out DataFrame that contains columns that we want to plot 
pdf_plot=price.plot().get_figure()  
pdf_plot.savefig('Stocks.pdf')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...