Как исследователь, который регулярно пишет публикации, я часто сталкиваюсь с проблемой создания аккуратных графиков. Это было не всегда легко для меня, и мне приходилось использовать доступные инструменты наилучшим образом, но я не был удовлетворен графиками, которые создавал большую часть времени. Я всегда удивлялся, как другие исследователи создавали свои аккуратные графики!
 Эта проблема начала уменьшаться после того, как я наткнулся на библиотеку Python, matplotlib , которая производит такие аккуратные графики.  Как упоминалось на сайте библиотеки: 
matplotlib— это библиотека 2D-черчения Python, которая генерирует показатели качества публикаций в различных печатных форматах и интерактивных средах на разных платформах.matplotlibможно использовать в сценариях Python, оболочке Python и ipython (аля MATLAB ® * или Mathematica ® ), серверах веб-приложений и шести наборах инструментов графического интерфейса пользователя.matplotlibстарается сделать легкие вещи легкими, аmatplotlibвозможными. Вы можете создавать графики, гистограммы, спектры мощности, гистограммы, диаграммы ошибок, диаграммы рассеяния и т. Д. С помощью всего лишь нескольких строк кода.
  В этом уроке я покажу вам, как установить matplotlib , а затем расскажу о некоторых примерах. 
Если вам интересно глубже изучить Python и узнать, как использовать возможности Python для обработки данных, почему бы не проверить эти два курса:
Установка matplotlib
  Установка matplotlib очень проста.  В настоящее время я работаю на компьютере Mac OS X, поэтому я покажу вам, как установить библиотеку в этой операционной системе.  Пожалуйста, смотрите страницу установки matplotlib для получения дополнительной информации об установке matplotlib в других операционных системах. 
  matplotlib можно установить, выполнив следующие команды в вашем терминале (я собираюсь использовать pip , но вы можете использовать и другие инструменты ): 
| 1 2 3 | curl -O https://bootstrap.pypa.io/get-pip.py python get-pip.py pip install matplotlib | 
  Вот и все.  Теперь у вас есть matplotlib и работает.  Просто так просто! 
Рисование основных сюжетов
  Давайте теперь посмотрим на некоторые примеры использования matplotlib .  Первый набор примеров будет посвящен рисованию некоторых основных сюжетов. 
Линия Участок
  Давайте рассмотрим простой пример рисования линейного графика с использованием matplotlib .  В этом случае мы будем использовать matplotlib.pyplot , который обеспечивает MATLAB-подобную структуру построения графиков.  Другими словами, он предоставляет набор функций в стиле команд, которые позволяют matplotlib работать как MATLAB. 
Допустим, мы хотели построить линию для следующего набора точек:
| 1 2 | x = (4,8,13,17,20) y = (54, 67, 98, 78, 45) | 
Это можно сделать с помощью следующего скрипта:
| 1 2 3 | import matplotlib.pyplot as plt plt.plot([4,8,13,17,20],[54, 67, 98, 78, 45]) plt.show() | 
  Обратите внимание, что мы представили точки x и y виде списков . 
В этом случае результат будет следующим:

  Линия на рисунке выше — это линия по умолчанию, которая рисуется для нас с точки зрения формы и цвета.  Мы можем настроить это, изменив форму и цвет линии, используя некоторые символы (спецификаторы) из документации по графику MATLAB.  Допустим, мы хотели нарисовать зеленую пунктирную линию с маркерами алмазов .  Спецификаторы, которые нам нужны в этом случае: 'g--d' .  В нашем скрипте выше мы размещаем спецификаторы следующим образом: 
| 1 | plt.plot([4,8,13,17,20],[54, 67, 98, 78, 45],’g—d’) | 
В этом случае линия графика будет выглядеть следующим образом:

Scatter Plot
  Точечный график — это график, который показывает взаимосвязь между двумя наборами данных, например взаимосвязь между возрастом и ростом.  В этом разделе я покажу вам, как мы можем нарисовать matplotlib график, используя matplotlib . 
  Давайте возьмем два набора данных, x и y , для которых мы хотим найти их взаимосвязь (точечная диаграмма): 
| 1 2 | x = [2,4,6,7,9,13,19,26,29,31,36,40,48,51,57,67,69,71,78,88] y = [54,72,43,2,8,98,109,5,35,28,48,83,94,84,73,11,464,75,200,54] | 
Точечный график может быть нарисован с использованием следующего сценария:
| 1 2 3 4 5 | import matplotlib.pyplot as plt x = [2,4,6,7,9,13,19,26,29,31,36,40,48,51,57,67,69,71,78,88] y = [54,72,43,2,8,98,109,5,35,28,48,83,94,84,73,11,464,75,200,54] plt.scatter(x,y) plt.show() | 
Результат этого сценария:

Конечно, вы можете изменить цвет маркеров в дополнение к другим настройкам, как показано в документации .
Гистограммы
Гистограмма — это график, который отображает частоту данных с использованием столбцов, где числа сгруппированы по диапазонам. Другими словами, частота каждого элемента данных в списке показана с помощью гистограммы. Сгруппированные числа в виде диапазонов называются ячейками . Давайте посмотрим на пример, чтобы понять это больше.
Допустим, список данных, для которых мы хотим найти гистограмму, выглядит следующим образом:
| 1 | x = [2,4,6,5,42,543,5,3,73,64,42,97,63,76,63,8,73,97,23,45,56,89,45,3,23,2,5,78,23,56,67,78,8,3,78,34,67,23,324,234,43,544,54,33,223,443,444,234,76,432,233,23,232,243,222,221,254,222,276,300,353,354,387,364,309] | 
Скрипт Python, который мы можем использовать для отображения гистограммы для приведенных выше данных:
| 1 2 3 4 5 | import matplotlib.pyplot as plt x = [2,4,6,5,42,543,5,3,73,64,42,97,63,76,63,8,73,97,23,45,56,89,45,3,23,2,5,78,23,56,67,78,8,3,78,34,67,23,324,234,43,544,54,33,223,443,444,234,76,432,233,23,232,243,222,221,254,222,276,300,353,354,387,364,309] num_bins = 6 n, bins, patches = plt.hist(x, num_bins, facecolor = ‘green’) plt.show() | 
Когда вы запускаете скрипт, вы должны получить что-то похожее на следующий график (гистограмма):

  Есть, конечно, больше параметров для функции hist() , как показано в документации . 
Дальнейшее чтение
  Этот урок был поверхностным занятием для работы с графиками в Python.  matplotlib — это еще не matplotlib , и вы можете делать много интересного с этой библиотекой. 
  Если вы хотите узнать больше о matplotlib и увидеть другие типы фигур, которые вы можете создать с помощью этой библиотеки, одним из мест может быть раздел примеров на matplotlib сайте matplotlib .  Есть также несколько интересных книг по этой теме, таких как Mastering matplotlib и Matplotlib Plotting Cookbook . 
Вывод
  Как мы видели в этом руководстве, Python можно расширить для выполнения интересных задач с помощью сторонних библиотек.  Я показал пример такой библиотеки, а именно matplotlib . 
  Как я упоминал во введении к этому уроку, создание аккуратных графиков для меня было непростой задачей, особенно когда вы хотите представить такие графики в научных публикациях.  matplotlib дал решение этой проблемы, потому что вы можете не только легко создавать красивые графы, но и иметь контроль (т.е. параметры) над такими графами, так как вы используете язык программирования для генерации ваших графов — в нашем случае Python. 

