Matplotlib python для чайников

Tutorials#

This page contains more in-depth guides for using Matplotlib. It is broken up into beginner, intermediate, and advanced sections, as well as sections covering specific topics.

For shorter examples, see our examples page . You can also find external resources and a FAQ in our user guide .

Introductory#

These tutorials cover the basics of creating visualizations with Matplotlib, as well as some best-practices in using the package effectively.

Intermediate#

These tutorials cover some of the more complicated classes and functions in Matplotlib. They can be useful for particular custom and complex visualizations.

Advanced#

These tutorials cover advanced topics for experienced Matplotlib users and developers.

Colors#

Matplotlib has support for visualizing information with a wide array of colors and colormaps. These tutorials cover the basics of how these colormaps look, how you can create your own, and how you can customize colormaps for your use case.

For even more information see the examples page .

Text#

matplotlib has extensive text support, including support for mathematical expressions, truetype support for raster and vector outputs, newline separated text with arbitrary rotations, and Unicode support. These tutorials cover the basics of working with text in Matplotlib.

Toolkits#

These tutorials cover toolkits designed to extend the functionality of Matplotlib in order to accomplish specific goals.

Provisional#

These tutorials cover proposed APIs of any complexity. These are here to document features that we have released, but want to get user feedback on before committing to them. Please have a look, try them out and give us feedback on gitter, discourse, or the the mailing list! But, be aware that we may change the APIs without warning in subsequent versions.

© Copyright 2002–2012 John Hunter, Darren Dale, Eric Firing, Michael Droettboom and the Matplotlib development team; 2012–2023 The Matplotlib development team.

Built from v3.7.2-2-g4915f574b8.

Источник

Библиотека Matplotlib в Python

Библиотека matplotlib в Python помогает нам отображать данные на графиках в простейшем виде. Если вы знакомы с построением графиков в MATLAB, то Matplotlib будет легко использовать для базового построения графиков.

Чтобы начать понимать, как Matplotlib помогает нам строить графики и фигуры визуализации для представления данных, нам нужно знать некоторые из основных терминов, которые мы будем часто использовать в этом посте. Давайте сначала изучим эти термины.

Читайте также:  Интерфейс java для программы

Установка Matplotlib

Библиотеку matplotlib легко установить с помощью pip:

Теперь мы готовы создать несколько примеров, используя эту библиотеку визуализации данных.

Начало работы

В этом разделе мы начнем с построения графика и начнем передавать данные функциям matplotlib в python .

Линейный график

Мы начнем с очень простого примера построения графика. Мы просто будем использовать два списка Python в качестве источника данных для точек графика. Напишем для этого фрагмент кода:

import matplotlib.pyplot as plt year = [1950, 1975, 2000, 2018] population = [2.12, 3.681, 5.312, 6.981] plt.plot(year, population) plt.show()

Пример библиотеки matplotlib в python

. plt.xlabel('Year') plt.ylabel('Population') plt.title('World Population')

Диаграмма рассеяния

Вышеупомянутый график показывал точки, которые фактически не были переданы в массиве, поскольку он показывает линию. Что, если мы хотим видеть только фактические точки на графике? Диаграмма разброса достигает этого:

import matplotlib.pyplot as plt year = [1950, 1975, 2000, 2018] population = [2.12, 3.681, 5.312, 6.981] plt.scatter(year, population) plt.show()

Диаграмма рассеяния в python

Гистограммы

В этом разделе мы познакомим вас с гистограммами. В то время как графики информируют нас о том, как меняются наши данные, гистограмма описывает, как наши данные распределяются. Чем больше значений в диапазоне, тем выше полоса диапазона.

Мы используем функцию hist() для построения гистограммы. У него есть 2 важных параметра:

Продемонстрируем это с помощью фрагмента кода:

import matplotlib.pyplot as plt values = [0, 1.2, 1.3, 1.9, 4.3, 2.5, 2.7, 4.3, 1.3, 3.9] plt.hist(values, bins = 4) plt.show()

Гистограммы

Настройка Plot

Если вы заметили первый график Line, мы увидим, что ось Y не начинается с 0. Мы можем изменить это:

Настройка Plot

Рисование нескольких кривых

Совершенно распространено рисование нескольких кривых на одном графике для сравнения. Попробуем вот это:

import numpy as np import matplotlib.pyplot as plt X = np.linspace(-np.pi, np.pi, 256, endpoint=True) cos, sin = np.cos(X), np.sin(X) plt.plot(X, cos) plt.plot(X, sin) plt.show()

Рисование нескольких кривых

Изменение цвета и добавление надписи на графике

Как мы видели, кривые выглядят красиво, но разве все они не так похожи? Что, если мы хотим изменить их цвет и показать, что представляет каждый цвет? Попробуем вместе нарисовать синусоидальную и косинусную кривые:

import numpy as np import matplotlib.pyplot as plt X = np.linspace(-np.pi, np.pi, 256, endpoint=True) cos, sin = np.cos(X), np.sin(X) plt.plot(X, cos, color='blue', label="cosine") plt.plot(X, sin, color='red', label="sine") plt.legend(loc='upper left', frameon=False) plt.show()

Изменение цвета и добавление надписи на графике

  1. изменен цвет кривых, чтобы упростить сравнение;
  2. добавлена рамка надписи, в которой показано, какой цвет что представляет. Это упрощает чтение метаданных на графике.

Создание гистограммы

Мы можем создавать привлекательные гистограммы с помощью простого фрагмента кода:

import matplotlib.pyplot as plt; plt.rcdefaults() import numpy as np import matplotlib.pyplot as plt names = ('Tom', 'Dick', 'Harry', 'Jill', 'Meredith', 'George') y_pos = np.arange(len(names)) speed = [8, 7, 12, 4, 3, 2] plt.bar(y_pos, speed, align='center', alpha=0.5) plt.xticks(y_pos, names) plt.ylabel('Speed') plt.title('Person') plt.show()

Создание гистограммы

Создание круговой диаграммы

Мы можем создавать привлекательные круговые диаграммы с помощью простого фрагмента кода:

import matplotlib.pyplot as plt # Data to plot names = 'Tom', 'Dick', 'Harry', 'Jill', 'Meredith', 'George' speed = [8, 7, 12, 4, 3, 2] colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue', 'red', 'blue'] explode = (0.1, 0, 0, 0, 0, 0) # explode 1st slice # Plot plt.pie(speed, explode=explode, labels=names, colors=colors, autopct='%1.1f%%', shadow=True, startangle=140) plt.axis('equal') plt.show()

Создание круговой диаграммы

Создание тепловых карт

Графики – это круто, но когда дело доходит до визуализации географической информации, нет ничего лучше, чем тепловая карта:

import numpy as np import numpy.random import matplotlib.pyplot as plt # Create data temperature = np.random.randn(4096) anger = np.random.randn(4096) # Create heatmap heatmap, xedges, yedges = np.histogram2d(temperature, anger, bins=(64,64)) extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]] # Plot heatmap plt.clf() plt.ylabel('Anger') plt.xlabel('Temp') plt.imshow(heatmap, extent=extent) plt.show()

Источник

Читайте также:  Bitrix sale order ajax нет component php

Построение графиков в Python при помощи Matplotlib

Картиной можно выразить тысячу слов. В случае с библиотекой Python matplotlib, к счастью, понадобится намного меньше слов в коде для создания качественных графиков.

Однако, matplotlib это еще и массивная библиотека, и создание графика, который будет выглядеть «просто, нормально» обычно проходит через путь проб и ошибок. Использование однострочных линий для создания базовых графиков в matplotlib – весьма просто, но умело пользоваться остальными 98% библиотеки может быть сложно.

Эта статья – руководство для пользователей Python на начальном-среднем уровне по matplotlib, с использованием как теории, так и практических примеров. Обучение по практическим примерам может быть очень продуктивным, и дает возможность получить представление даже на поверхностном уровне понимания внутренней работы и макета библиотеки.

Что мы рассмотрим?

  • Pylab и pyplot: кто есть кто?
  • Ключевые концепции дизайна matplotlib;
  • Понимание plt.subplots();
  • Визуализация массивов при помощи matplotlib;
  • Построение графиков с комбинацией pandas и matplotlib.

Эта статья подразумевает, что пользователь имеет хотя-бы минимальное представление о NumPy. Мы в основном будем пользоваться модулем numpy.random для создания «игрушечных» данных, рисовать примеры из различных статистических источников.

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

Если у вас еще не установлен matplotlib, рекомендуем ознакомиться с руководством по установке, перед тем как продолжить.

Почему Matplotlib может быть сложным?

Изучение matplotlib временами может быть тяжелым процессом. Проблема не в нехватке документации (которая весьма обширная, между прочим). Сложности могут возникнуть со следующим:

  • Размер библиотеки огромный сам по себе, около 70 000 строк кода;
  • Matplotlib содержит несколько разных интерфейсов (способов построения фигуры) и может взаимодействовать с большим количеством бекендов. (Бекенды отвечают за то, как по факту будут отображаться диаграммы, не только за внутреннюю структуру);
  • Несмотря на обширность, часть собственной документации matplotlib серьезно устарела. Библиотека все еще развивается, и множество старых примеров в сети могут включать на 70% меньше кода, чем в их современной версии;
Читайте также:  Java result set no results

Так что, перед тем как мы перейдем к сложным примерам, не помешает освоить корневые концепции дизайна matplotlib.

Pylab: что это и нужно ли мне это?

Немножко истории: Нейробиолог Джон Д. Хантер начал разрабатывать matplotlib в 2003 году, в основном вдохновляясь эмуляцией команд программного обеспечения Mathworks MATLAB. Джон отошел в мир иной трагически рано, в возрасте 44 лет в 2012 году, и matplotlib на сегодняшний день является целиком и полностью продуктом сообщества: развивается и поддерживается множеством людей. (Джон говорил об эволюции matplotlib на конференции SciPy в 2012, которую однозначно стоит посмотреть.)

Одной из важных особенностей MATLAB является его глобальный стиль. Концепция импорта Python не сильно используется в MATLAB, и большинство функций MATLAB легко доступны для пользователя на верхнем уровне.

Заказать свой собственный уникальный номер можно от Сим-Трейд.ру. Быстрая доставка в день заказа и красивые номера начиная от 300 руб. с выгодным тарифным планом. Свой уникальный номер это хороший признак для введения бизнеса с момента первого звонка.

Понимание того, что корни matplotlib растут из MATLAB, помогает объяснить существование pylab. pylab – это модуль внутри библиотеки matplotlib, который был встроен для подражания общего стиля MATLAB. Он существует только для внесения ряда функций классов из NumPy и matplotlib в пространство имен, что упрощает переход пользователей MATLAB, которые не сталкивались с необходимостью в операторах импорта. Бывшие пользователи MATLAB (которые очень хорошие люди, обещаем!) полюбили его функционал, потому что при помощи from pylab import * они могут просто вызывать plot() или array() напрямую также, как они это делали в MATLAB.

Проблема здесь может быть очевидной для некоторых пользователей Python: использование from pylab import * в сессии или скрипте – как правило, плохая идея. Matplotlib сегодня прямым текстом рекомендуют не делать этого в своих руководствах:

[pylab] все еще существует по историческим причинам, но его использование не рекомендуется. Он перегружает пространства имен функциями, которые оттеняют надстройки Python и может привести к скрытым багам. Для получения интеграции IPython без использования импортов, рекомендуется использовать %matplotlib.

В глубине своей, существует целая тонна потенциально конфликтных импортов, замаскированных в коротком источнике pylab. Фактически, использование ipython —pylab (из терминала или командной строки) или %pylab (из инструментов IPython/Jupyter) легко вызывает from pylab import *

Суть в том, что matplotlib забросили этот удобный модуль и рекомендуют не использовать pylab, подтверждая ключевое правило Python – явное лучше, чем неявное.

Без необходимости в использовании pylab, мы всегда можем обойтись всего одним каноничным импортом:

Источник

Оцените статью