Функция таблицы Matplotlib

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

Советы по работе с ВМ

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

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений в Jupyter Notebook.

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импортируем необходимые библиотеки

Начнем с импорта необходимых библиотек для проекта. Используем библиотеку Matplotlib для создания таблицы.

import matplotlib.pyplot as plt
import numpy as np

Создаем набор данных

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

data = [[ 66386, 174296,  75131, 577908,  32015],
        [ 58230, 381139,  78045,  99308, 160454],
        [ 89135,  80552, 152558, 497981, 603535],
        [ 78415,  81858, 150656, 193263,  69638],
        [139361, 331509, 343164, 781380,  52269]]

columns = ('Freeze', 'Wind', 'Flood', 'Quake', 'Hail')

Создаем метки строк

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

rows = ['%d year' % x for x in (100, 50, 20, 10, 5)]

Создаем цветовую схему

Создадим цветовую схему для таблицы с использованием функции plt.cm.BuPu. Для строк будем использовать мягкие оттенки голубого и фиолетового цветов.

colors = plt.cm.BuPu(np.linspace(0, 0.5, len(rows)))

Создаем вертикальную накопленную столбчатую диаграмму

Создадим вертикальную накопленную столбчатую диаграмму с использованием функции plt.bar, чтобы представить убытки, понесенные различными природными катастрофами за годы. Используем цикл for для перебора каждой строки данных и построения столбцов.

n_rows = len(data)

index = np.arange(len(columns)) + 0.3
bar_width = 0.4

y_offset = np.zeros(len(columns))

cell_text = []
for row in range(n_rows):
    plt.bar(index, data[row], bar_width, bottom=y_offset, color=colors[row])
    y_offset = y_offset + data[row]
    cell_text.append(['%1.1f' % (x / 1000.0) for x in y_offset])

Переворачиваем цвета и текстовые метки

Перевернем цвета и текстовые метки таблицы, чтобы отобразить последнее значение вверху, используя функцию [::-1].

colors = colors[::-1]
cell_text.reverse()

Добавляем таблицу на график

Добавим таблицу в нижнюю часть графика с использованием функции plt.table. Передадим в функцию текст ячеек, метки строк, цвета строк и метки столбцов в качестве параметров.

the_table = plt.table(cellText=cell_text,
                      rowLabels=rows,
                      rowColours=colors,
                      colLabels=columns,
                      loc='bottom')

Настраиваем макет графика

Настроим макет графика, чтобы освободить место для таблицы, используя функцию plt.subplots_adjust.

plt.subplots_adjust(left=0.2, bottom=0.2)

Добавляем метки осей и заголовок

Добавим метки осей и заголовок к графику с использованием функций plt.ylabel, plt.yticks, plt.xticks и plt.title.

values = np.arange(0, 2500, 500)
value_increment = 1000

plt.ylabel(f"Убыток в ${value_increment}'s")
plt.yticks(values * value_increment, ['%d' % val for val in values])
plt.xticks([])
plt.title('Убыток по катастрофам')

Показываем график

Покажем график с использованием функции plt.show.

plt.show()

Резюме

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

  1. Импортировали необходимые библиотеки
  2. Создали набор данных
  3. Создали метки строк
  4. Создали цветовую схему
  5. Создали вертикальную накопительную столбчатую диаграмму
  6. Перевернули цвета и текстовые метки
  7. Добавили таблицу на график
  8. Настроили макет графика
  9. Добавили метки осей и заголовок
  10. Показали график.