Найти в Дзене
programmer's notes (python and more)

Программирование на языке python. Библиотека matplotlib. Построение окружности и столбчатые диаграммы

Оглавление

Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.

Научные графические библиотеки для Python | programmer's notes (python and more) | Дзен
Графика на Python | programmer's notes (python and more) | Дзен

Еще один способ рисования окружности в matplotlib

В предыдущей статье мы двумя способами, используя библиотеку matplotlib, рисовали окружность. Сегодня ещё один способ рисования окружности. В библиотеке есть специальный метод Circle(). Построение двух окружностей см. ниже

#!/usr/bin/python3
import matplotlib.pyplot as plt
# создать поле рисунка
# и контейнер для добавления фигур
fig, ax = plt.subplots()
# создаём две окружности
c1 = plt.Circle((-1., -2.), 10, fill=False)
c2 = plt.Circle((1., 2.), 5, fill=True)
# устанавливаем цвете
c1.set_edgecolor("red")
c2.set_edgecolor("green")
c2.set_facecolor("#77aa66")
# оси координат
plt.xlim(xmin=-15,xmax=15)
plt.ylim(ymin=-15,ymax=15)
# добавляем фигуры на рисунок
ax.add_artist(c1)
ax.add_artist(c2)
fig.suptitle('Рисование окружностей')
# соотношение сторон графиков
ax.set_aspect('equal')
plt.show()

Результат выполнения программы см. ниже на рисунке 1.

Пояснения к программе

  • plt.subplots() - создаются два объекта. Первый объект поле для рисунка. Второй это контейнер, куда можно помещать фигуры.
  • С помощью Circle() создаём две окружности. Указываем координаты центра, радиус и заполняемость. Заполнена или нет окружность.
  • Устанавливаем цвета: set_edgecolor() - границы, set_facecolor() - заполнения.
  • xlim(), ylim() - задаём границы осей координат.
  • add_artist() - добавляем фигуры в контейнер.
  • suptitle() - заголовок поля.
  • set_aspect() - делаем окружность правильной (не вытянутой).
Рисунок 1. Построение окружностей специальными средствами библиотеки matplotlib
Рисунок 1. Построение окружностей специальными средствами библиотеки matplotlib

Столбчатая диаграмма в matplotlib

В библиотеке matplotlib есть мощный аппарат для построения диаграмм самого разного типа. Приведу пример программного построения столбчатой диаграммы.

#!/usr/bin/python3
import matplotlib.pyplot as plt
x = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', \
'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь']
y = [5, 7, 3, 1, 7, 9, 8, 3, 2, 1, 2, 6]
fig, ax = plt.subplots(figsize=(12,6))
ax.bar(x, y, width=0.9, color="#5555dd", label='Поступление товара')
fig.suptitle('Рисование диаграмм')
plt.xlabel('Месяц года')
plt.ylabel('Стоимость товара')
fig.legend()
plt.title('Столбчатая диаграмма')
plt.show()

Результат выполнения программы см. ниже на рисунке 2.

Пояснения к программе.

  • xlabel(), ylabel() - подписи для осей.
  • legend() - подпись на диаграмме.
  • bar() - создаёт вертикальную гистограмму. При этом указываются координаты (условные) и значения столбца, ширина столбца, цвет столбцов, подпись к диаграмме (легенда). Для построения горизонтальной диаграммы используем hbar().
  • При создании поля диаграммы мы указали размер всей фигуры (figsize), что отразилось на размер окна. Конечно, такая подгонка не обязательна, потому что, когда окно с графиком появиться, можно изменить его размер до наиболее удобного.
Рисунок 2. Построение стольчатой диаграммы
Рисунок 2. Построение стольчатой диаграммы

Следующая статья по теме

Ну, пока всё!

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

Я запутался в ваших диаграммах, дайте мне просто массив цифр
Я запутался в ваших диаграммах, дайте мне просто массив цифр