Установка пакета и основные возможности
Так как matplotlib выводит графическую информацию, как правило, на экран устройства, то он должен использовать пакет для работы с пользовательским интерфейсом. И, действительно, по умолчанию в качестве backend применяется модуль: TkInter который, как правило, поставляется с самим языком Python. И мы в этом можем убедиться. Давайте создадим простейшую программу и, заодно проверим корректность установки matplotlib:
import matplotlib print(matplotlib.get_backend())
Мы здесь импортировали модуль matplotlib и вызвали функцию get_backend() для получения информации о текущем выбранном backend’е. У меня в консоли выводится строка: TkAgg означающая, что выбран TkInter в качестве backend’а. Если у вас по каким-то причинам не установлен TkInter, то могут возникнуть проблемы при отображении графиков. Если же мы хотите выбрать другой backend, то для этого следует выполнить команду:
matplotlib.use('Qt5Agg')
В данном случае указан пакет Qt версии 5 для отображения графической информации. Также backend можно «жестко» прописать в файле конфигурации пакета matplotlib, чтобы каждый раз в программе не вызывать функцию use(). Вообще, поддерживаются следующие backend’ы:
| Название | Описание |
| Qt5Agg | Рендеринг графики в Qt5 (требуется PyQt5). В IPython активируется командой %matplotlib qt5 |
| ipympl | Рендеринг графики в виджете Jupyter (требуется ipympl). В IPython активируется командой %matplotlib ipympl |
| GTK3Agg | Рендеринг графики в GTK 3.x (требуется PyGObject и pycairo или cairocffi). В IPython активируется командой %matplotlib gtk3 |
| macosx | Рендеринг графики в Cocoa. В IPython активируется командой %matplotlib osx |
| TkAgg | Рендеринг графики в Tk (требуется TkInter). В IPython активируется командой %matplotlib tk |
| nbAgg | Рендеринг графики в Jupyter notebook. В Jupyter активируется командой %matplotlib notebook |
| WebAgg | Для использования с торнадо-сервером. |
| GTK3Cairo | Cairo рендеринг графики в GTK 3.x x (требуется PyGObject и pycairo или cairocffi). |
| Qt4Agg | Рендеринг графики в Qt4 (требуется PyQt4 или pyside). В IPython активируется командой %matplotlib qt4 |
| wxAgg | Рендеринг графики в wxWidgets (требуется wxPython 4). В IPython активируется командой %matplotlib wx |
Мы будем пока использовать стандартный модуль TkInter, чтобы не усложнять наши программы.
Архитектура окна графика
Давайте теперь сформируем простой график и отобразим его в окне. Для этого нам нужно импортировать специальный модуль pyplot пакета matplotlib:
import matplotlib.pyplot as plt
Обычно ему присваивается алиас plt для дальнейшего удобства использования. Далее, мы воспользуемся функцией plot() для отображения простейшей кривой:
plt.plot([1, 2, -6, 0, 4])
В принципе, этого достаточно, чтобы график был сформирован и отображен. Но при работе в интегрированных средах, вроде PyCharm, окно с графиком тут же закроется. Чтобы этого не происходило, добавим вызов еще одной функции:
plt.show()
Теперь мы видим окно с графиком и элементами управления. Программа продолжит свою работу только после закрытия этого окна. Чтобы в дальнейшем уметь управлять этим графиком, нужно понимать из каких компонент он состоит.
Или, это можно представить в виде схемы взаимодействия между компонентами окна:
На этом рисунке показаны лишь базовые элементы графика. В действительности, их несколько больше, но мы начнем с них. Итак, в основе всего лежит фигура (Figure) и она одна для текущего окна. Затем, на фигуре располагаются координатные оси (Axes). Таких осей (объектов Axes) может совсем не быть, но, как правило, имеется хотя бы одна область. Также можно добавлять две, три и так далее координатных осей на одну фигуру: 
Каждый объект Axes содержит две или три координатные оси (Axis), сетку, метки (ticks), легенду и, конечно же, графики. Причем число графиков может быть произвольным – от нуля и до любого разумного числа. Объект Artist отвечает за размещение и оформление отображаемых данных на рисунке (Figure) и взаимодействует непосредственно с объектом Canvas – подложки для рисования на холсте (рисунке). Оси Axis в matplotlib могут иметь разные конфигурации:
- в виде декартовой системы на плоскости (2D) или в пространстве (3D);
- использовать логарифмический масштаб по каждой из осей;
- описывать сферическую систему координат.
Основные возможности matplotlib

С помощью matplotlib можно отображать произвольные данные самыми разными способами в виде: Наконец, matplotlib позволяет создавать анимации отображаемых данных и сохранять их, например, в анимированных GIF-файлах. Все это и сделало данный пакет таким популярным и удобным в самых разных приложениях, где необходимо отображать данные и визуально оценивать полученный результат.
Как исправить: нет модуля с именем matplotlib
Одна распространенная ошибка, с которой вы можете столкнуться при использовании Python:
no module named ' matplotlib '
Эта ошибка возникает, когда Python не обнаруживает библиотеку matplotlib в вашей текущей среде.
В этом руководстве представлены точные шаги, которые вы можете использовать для устранения этой ошибки.
Шаг 1: pip устанавливает matplotlib
Поскольку matplotlib не устанавливается автоматически вместе с Python, вам нужно будет установить его самостоятельно. Самый простой способ сделать это — использовать pip , менеджер пакетов для Python.
Вы можете запустить следующую команду pip для установки matplotlib:
pip install matplotlib
В большинстве случаев это исправит ошибку.
Шаг 2: Установите пип
Если вы все еще получаете сообщение об ошибке, вам может потребоваться установить pip. Используйте эти шаги , чтобы сделать это.
Вы также можете использовать эти шаги для обновления pip до последней версии, чтобы убедиться, что он работает.
Затем вы можете запустить ту же команду pip, что и раньше, чтобы установить matplotlib:
pip install matplotlib
На этом этапе ошибка должна быть устранена.
Шаг 3: проверьте версии matplotlib и pip
Если вы все еще сталкиваетесь с ошибками, возможно, вы используете другую версию matplotlib и pip.
Вы можете использовать следующие команды, чтобы проверить, совпадают ли ваши версии matplotlib и pip:
which python python --version which pip
Если две версии не совпадают, вам нужно либо установить более старую версию matplotlib, либо обновить версию Python.
Шаг 4: Проверьте версию matplotlib
После того, как вы успешно установили matplotlib, вы можете использовать следующую команду, чтобы отобразить версию matplotlib в вашей среде:
pip show matplotlib Name: matplotlib Version: 3.1.3 Summary: Python plotting package Home-page: https://matplotlib.org Author: John D. Hunter, Michael Droettboom Author-email: matplotlib-users@python.org License: PSF Location: /srv/conda/envs/notebook/lib/python3.7/site-packages Requires: cycler, numpy, kiwisolver, python-dateutil, pyparsing Required-by: seaborn, scikit-image Note: you may need to restart the kernel to use updated packages.
Примечание. Самый простой способ избежать ошибок с версиями matplotlib и Python — просто установить Anaconda , набор инструментов, предустановленный вместе с Python и matplotlib и бесплатный для использования.
Дополнительные ресурсы
В следующих руководствах объясняется, как исправить другие распространенные проблемы в Python:
How to Install Matplotlib on PyCharm?
Problem Formulation: Given a PyCharm project. How to install the Matplotlib library in your project within a virtual environment or globally?
Here’s a solution that always works:
- Open File > Settings > Project from the PyCharm menu.
- Select your current project.
- Click the Python Interpreter tab within your project tab.
- Click the small + symbol to add a new library to the project.
- Now type in the library to be installed, in your example «matplotlib» without quotes, and click Install Package .
- Wait for the installation to terminate and close all popup windows.
Here’s the installation process as a short animated video—it works analogously for Matplotlib, just type in “matplotlib” in the search field instead:
Make sure to select only “matplotlib” because there are many other packages that are not required but also contain the term “matplotlib” (False positives):

Alternatively, you can run the pip install matplotlib command in your PyCharm “Terminal” view:
$ pip install matplotlib

Feel free to check out the following free email academy with Python cheat sheets to boost your coding skills!
To become a PyCharm master, check out our full course on the Finxter Computer Science Academy available for free for all Finxter Premium Members:


While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.
To help students reach higher levels of Python success, he founded the programming education website Finxter.com that has taught exponential skills to millions of coders worldwide. He’s the author of the best-selling programming books Python One-Liners (NoStarch 2020), The Art of Clean Code (NoStarch 2022), and The Book of Dash (NoStarch 2022). Chris also coauthored the Coffee Break Python series of self-published books. He’s a computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.
His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.
Categories Dependency Management, Matplotlib, PyCharm, Python
Be on the Right Side of Change
- The world is changing exponentially. Disruptive technologies such as AI, crypto, and automation eliminate entire industries.
- Do you feel uncertain and afraid of being replaced by machines, leaving you without money, purpose, or value? Fear not! There a way to not merely survive but thrive in this new world!
- Finxter is here to help you stay ahead of the curve, so you can keep winning as paradigms shift.
Learning Resources
⭐ Boost your skills. Join our free email academy with daily emails teaching exponential with 1000+ tutorials on AI, data science, Python, freelancing, and Blockchain development!
Check out our free WhatsApp channel to stay educated on LLM developments:

Join the Finxter Academy and unlock access to premium courses to certify your skills in exponential technologies and programming.
New Finxter Tutorials:
- (Solved) Python Request Error 403 When Web Scraping
- The Art of Clean Code – Complexity
- The Art of Clean Code – Free Book Overview
- (Fixed) Python Request Error 500
- What is the Fastest Way to Get a Sorted Unique List in Python?
- Top 10 Cutting-Edge AI Applications and 30 Startups Disrupting Education
- Top 50 Cutting-Edge Artificial Intelligence (AI) Applications in Business
- OpenAI GPT Store – Get Your GPTs Ready in 5 Simple Steps
- Top 10 Cutting-Edge Artificial Intelligence (AI) Applications in Healthcare
- Top 50 Cutting-Edge Artificial Intelligence (AI) Applications in Manufacturing
Finxter Categories:
Ошибка импорта matplotlib в PyCharm
Я совсем новичок в python, и столкнувшись с этой проблемой я не могу продолжать обучение. Вот что происходит когда я запускаю код в Pycharm
Ну и после того как я нажимаю на «Закрыть программу» в логе выскакивает «Process finished with exit code -1073741819 (0xC0000005)». После этого я удалял проект, делал новый, пару раз саму библиотеку удалял и устанавливал, ничего не помогло. Потом я попытался скачать эту библиотеку без помощи Pycharm, вроде все хорошо, но как только пытаюсь запустить этот же код в Geany, Python тут же прекращает работу. До этого работал с библиотекой pygame и все работало отлично, а сейчас не знаю. Еще хочу добавить что ошибки еще были в тот момент, когда я первый раз скачивал эту библиотеку. P.S. я выяснил, что проблема именно в строке «import matplotlib.pyplot» Для лучшего понимания вопроса вот серия скриншотов: 1. Удаляю matplotlib
2. Снова скачиваю matplotlib c помощью pip
3. Запускаю код. Ошибка
4. Окей, создаю новый проект
5. Скачиваю matplotlib с помощью Pycharm
6. Импортирую matplotlib, та же ошибка, скриншот прикреплять не буду
Отслеживать
Splish_Splash
задан 7 окт 2019 в 15:28
Splish_Splash Splish_Splash
120 6 6 бронзовых знаков
А если нажать «Показать подробности», что там?
7 окт 2019 в 16:55
@МарияРиваненкова там ничего особенного, «имя приложения : python.exe», и другая информация которая не дает четкого представления о проблеме, но к счастью я уже смог решить