Рубрики
Без рубрики

Таблица Matplotlib в Python С примерами

Matplotlib Table в Python-это особая функция, которая позволяет построить таблицу. До сих пор существует множество таких методов построения графиков…

Автор оригинала: Team Python Pool.

Здравствуйте программисты, сегодня мы узнаем о реализации таблиц Matplotlib в Python. Метод matplotlib.pyplot.table() используется для создания или добавления таблицы к осям в программах python. Он генерирует таблицу, используемую в качестве расширения штабелированной гистограммы. Прежде чем мы перейдем к различным примерам и форматированию таблиц, позвольте мне просто кратко рассказать вам о синтаксисе и типе возвращаемой функции таблицы Matplotlib.

Matplotlib Table в Python-это особая функция, которая позволяет построить таблицу. До сих пор существует множество методов построения графиков, таких как aggregate base, aggregate line charts и другие способы. Используя matplotlib.pyplot.table(), мы можем добавить таблицу к осям. Затем эта таблица строится со столбцами в виде оси x и значениями в виде оси y. Давайте взглянем на синтаксис и полное объяснение кода –

Синтаксис таблицы Matplotlib:

Указание одного из cellText или cellColours в качестве параметра табличной функции matplotlib является обязательным. Эти параметры должны быть 2D-списками, в которых внешние списки определяют строки, а внутренний список определяет значения столбцов каждой строки. Любые другие размерные данные не будут приняты функцией.

Таблица может дополнительно иметь заголовки строк и столбцов. rowLabels, rowColours, rowLoc и colLabels, colColours, colLoc соответственно являются необязательными параметрами для этой функции. **kwargs-это необязательные параметры для настройки размера 2-d списка, передаваемого в качестве параметра.

Параметры:

  • cellColours: Фоновые цвета ячеек.
  • <виолончель: Выравнивание текста внутри ячеек. (по умолчанию: 'right')
  • colWidths (необязательно): Ширина столбца в единицах осей.
  • rowLabels (необязательно): Текст ячеек заголовка строки.
  • rowColours (необязательно): Цвета ячеек заголовка строки.
  • rowLoc (необязательно): Выравнивание текста ячеек заголовка строки. (по умолчанию: 'left')
  • colLabels (необязательно): Текст ячеек заголовка столбца.
  • <холодные цвета (необязательно): Цвета ячеек заголовка столбца.
  • Loc (необязательно): Этот параметр представляет собой положение ячейки относительно ax.
  • bbox (необязательно): Этот параметр является ограничивающим прямоугольником для рисования таблицы.
  • ребра (необязательно): Этот параметр представляет собой ребра ячейки, которые будут нарисованы линией.
  • **kwargs: Используется для управления свойствами таблицы.

Тип возврата:

Метод matplotlib.pyplot.table() возвращает созданную таблицу, передавая необходимые данные в качестве параметров. Этот объект таблицы можно захватить, чтобы изменить определенные значения в таблице. Этот объект относится к href="https://matplotlib.org/3.1.1/api/table_api.html#matplotlib.table.Таблица">matplotlib.table.Объект Table(). Таблица состоит из 2d-сетки, которую можно индексировать с помощью строк и столбцов. Кроме того, вы также можете изменить семейство шрифтов таблицы. href="https://matplotlib.org/3.1.1/api/table_api.html#matplotlib.table.Таблица">matplotlib.table.Объект Table(). Таблица состоит из 2d-сетки, которую можно индексировать с помощью строк и столбцов. Кроме того, вы также можете изменить семейство шрифтов таблицы.

Реализация таблицы Matplotlib

import matplotlib.pyplot as plt 
  
val1 = ["{:X}".format(i) for i in range(10)] 
val2 = ["{:02X}".format(10 * i) for i in range(10)] 
val3 = [["" for c in range(10)] for r in range(10)] 
  
fig,.subplots() 
ax.set_axis_off() .table( 
   ,  
   ,  
   , 
    rowColours =["palegreen"] * 10,  
    colColours =["palegreen"] * 10, 
   ,  
   )         
  
ax.set_title('matplotlib.axes.Axes.table() function Example', 
            ) 
  
plt.show()

Выход:

Реализация таблицы Matplotlib
Реализация таблицы Matplotlib

Объяснение:

В приведенном выше примере matplotlib.pyplot.table() принимает 2-d список в качестве параметра. Передаваемые параметры следующие:-,,, row Colours =["pale green"] * 10, col Colours =["pale green"] * 10,,. Val1, val2 и val3 запускаются для циклов, каждый из которых генерирует значения для меток столбцов, меток строк и текста ячеек соответственно. Установка цветов строк и холодных цветов на "бледно-зеленый" изменяет цвет ячеек заголовка строк и столбцов на бледно-зеленый. Настройка устанавливает выравнивание заголовка href="https://en.wikipedia.org/wiki/Row-_and_column-major_order#:~:text=In%20computing%2C%20row%2Dmajor%20order,such%20as%20random%20access%20memory.&text=Data%20layout%20is%20critical%20for,written%20in%20different%20programming%20languages.">row и значения столбцов в центр. И, наконец, устанавливает выравнивание заголовка в верхнем левом углу. href="https://en.wikipedia.org/wiki/Row-_and_column-major_order#:~:text=In%20computing%2C%20row%2Dmajor%20order,such%20as%20random%20access%20memory.&text=Data%20layout%20is%20critical%20for,written%20in%20different%20programming%20languages.">row и значения столбцов в центр. И, наконец, устанавливает выравнивание заголовка в верхнем левом углу.

Стиль заголовков строк и столбцов

Выход:

Стиль заголовков строк и столбцов
Стиль заголовков строк и столбцов

Объяснение:

Приведенный выше фрагмент кода используется для стилизации заголовков строк и столбцов.списки цветов, один для каждой ячейки заголовка строки и другой для каждой ячейки заголовка столбца. Горизонтальное выравнивание заголовка строки устанавливается на right. Мы просто используем цветовую карту plt.cm.BuPm, чтобы заполнить два списка цветов: один для каждой ячейки заголовка строки и другой для каждой ячейки заголовка столбца. Однако есть лучший выбор, чем линейная цветовая карта для декоративных цветов.

Стиль таблицы Matplotlib в Python

Выход:

Стиль таблицы Matplotlib в Python
Стиль таблицы Matplotlib в Python

Объяснение:

Мы можем явно объявить фигуру, чтобы получить легкий контроль над ее границей и цветом фона. В приведенном выше фрагменте кода Небесно-голубой цвет является фоновым цветом,а граница рисунка установлена на стальной синий.

Полный Пример Таблицы Matplotlib В Виде Гистограммы

В следующем примере мы будем использовать данные об использовании мобильных телефонов в 2010, 2012, 2014 и 2016 годах. На столе есть ряды Звонков, Фотографий, Текстовых сообщений, Интернета и Игр. Из следующей тенденции можно сделать вывод, что использование мобильных телефонов растет год от года. Мы будем использовать matplotlib.pyplot.Table() для создания объекта table и отображения его с помощью окна Tkinter.

import numpy as np
import matplotlib.pyplot as plt


data = [[ 100, 100,  99, 95],
        [ 66, 71,  76,  82],
        [ 73,  75, 79, 81],
        [ 17,  23, 42, 55],
        [ 12, 18, 26, 20]]

columns = ('2010', '2012', '2014', '2016')
rows = ("Make Calls", "Take Photos", "Texting", "Internet", "Playing games")[::-1]
.arange(0, 50, 10)

# Get some pastel shades for the colors.cm.BuPu(np.linspace(0, 0.5, len(rows)))(data)
.arange(len(columns)) + 0.3.4

# Initialize the vertical-offset for the stacked bar chart..zeros(len(columns))

# Plot bars and create text labels for the table
cell_text = []
for row in range(n_rows):
    plt.bar(index, data[row], bar_width,,[row])
    + data[row]
    cell_text.append(['%1.1f' % (x) for x in y_offset])
# Reverse colors and text labels to display the last value at the top.[::-1]
cell_text.reverse()

# Add a table at the bottom of the axes.table(cellText=cell_text,
                     ,
                     ,
                     ,
                     )

# Adjust layout to make room for the table:.2,.2)

plt.ylabel("Usage of mobile phones in ${0}'s".format(value_increment))
plt.yticks(values * value_increment, ['%d' % val for val in values])
plt.xticks([])
plt.title('Using Mobile Phones')

plt.show()

Выход –

Объяснение –

Сначала мы импортируем все необходимые модули, а затем объявляем наборы данных в виде 2d-списка. Далее мы создаем объект таблицы, передавая соответствующие параметры. Затем мы, наконец, используем plt.show() для отображения интерфейса matplotlib.

Полный Пример Таблицы Matplotlib В Виде Линейного Графика

В предыдущем примере мы построили гистограмму для данного набора данных мобильных телефонов. В этом примере мы построим линейный график для каждой строки набора данных, чтобы проверить его тренд. Линейные графики лучше дают представление о тенденциях в наборе данных. Мы будем использовать базовый matplotlib.plot() для построения каждой строки в виде строки. Давайте перейдем к коду –

import numpy as np
import matplotlib.pyplot as plt

data = [[ 100, 100,  99, 95],
        [ 66, 71,  76,  82],
        [ 73,  75, 79, 81],
        [ 17,  23, 42, 55],
        [ 12, 18, 26, 20]]

columns = ('2010', '2012', '2014', '2016')
rows = ("Make Calls", "Take Photos", "Texting", "Internet", "Playing games")[::-1]
.arange(0, 10, 1)

# Get some pastel shades for the colors.cm.BuPu(np.linspace(0, 0.5, len(rows)))[::-1].arange(len(columns)) + 0.3.4(data)

for row in range(n_rows):
    plt.plot(index, data[row], bar_width,[row])
,,,,)
.25,.25)
plt.ylabel("Usage of mobile phones in ${0}'s".format(value_increment))
plt.yticks(values * value_increment, ['%d' % val for val in values])
plt.xticks([])
plt.title('Using Mobile Phones')

plt.show()

В предыдущем примере мы построили гистограмму для данного набора данных мобильных телефонов. В этом примере мы построим линейный график для каждой строки набора данных, чтобы проверить его тренд. Линейные графики лучше дают представление о тенденциях в наборе данных. Мы будем использовать базовый matplotlib.plot() для построения каждой строки в виде строки. Давайте перейдем к коду –

Объяснение –

Объяснение аналогично предыдущему. Единственным изменением в коде было использование plt.plot() вместо plt.bar(). Это создало линейный график всех строк в окне Tkinter.

Полный Пример Таблицы Matplotlib В Виде Круговых Диаграмм

Круговые диаграммы - это уникальный способ отображения данных. В этом разделе вы узнаете о создании круговых диаграмм для 2-d таблицы и их использовании. Все сгенерированные круговые диаграммы используются для создания осей сетки matplotlib. Эта сетка автоматически подстраивается под размер круговых диаграмм.

import numpy as np
import matplotlib.pyplot as plt

data = [[ 100, 100,  99, 95],
        [ 66, 71,  76,  82],
        [ 73,  75, 79, 81],
        [ 17,  23, 42, 55],
        [ 12, 18, 26, 20]](map(list, zip(*data)))
columns = ('2010', '2012', '2014', '2016')
rows = ("Make Calls", "Take Photos", "Texting", "Internet", "Playing games")[::-1]

fig,.subplots(2, 2)
axs[0, 0].pie(data[0],,,)
axs[0, 0].set_title(columns[0])
axs[0, 1].pie(data[1],,,)
axs[0, 1].set_title(columns[1])
axs[1, 0].pie(data[2],,,)
axs[1, 0].set_title(columns[2])
axs[1, 1].pie(data[3],,,)
axs[1, 1].set_title(columns[3])

plt.show()

Выход –

Объяснение –

Во-первых, мы создали оси с помощью plt.subplots(). Эта функция возвращает определенную рабочую область, в которой можно построить диаграммы по отдельности. Затем мы можем использовать либо петлю через эти точки, либо построить каждый пирог независимо. В этом случае я вручную добавил каждый пирог по отдельным осям.

Вывод

Эта статья предлагает вам очень простые и краткие концепции таблиц Matplotlib в python. Он включает в себя способы вставки таблиц в вашу программу python очень аккуратным образом. Методы стилизации заголовков таблиц, строк и столбцов так явно обсуждаются здесь. Любые запросы, связанные с таблицами, см. в этой статье.

Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.

Счастливого Пифонирования!