Логарифмическая столбчатая диаграмма

Beginner

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

Введение

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

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

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

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

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

Импорт библиотек

Во - первых, нам нужно импортировать необходимые библиотеки. В этом случае мы будем использовать библиотеки matplotlib.pyplot и numpy. Библиотека pyplot позволит нам создать столбчатую диаграмму, а библиотека numpy поможет нам манипулировать данными.

import matplotlib.pyplot as plt
import numpy as np

Определение данных

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

data = ((3, 1000), (10, 3), (100, 30), (500, 800), (50, 1))

Создание столбчатой диаграммы

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

dim = len(data[0])
w = 0.75
dimw = w / dim

Далее, мы создадим фигуру и объект оси с помощью метода subplots(). Затем мы используем цикл for для перебора каждого значения в нашем наборе данных и создадим для каждого столбец.

fig, ax = plt.subplots()
x = np.arange(len(data))
for i in range(len(data[0])):
    y = [d[i] for d in data]
    b = ax.bar(x + i * dimw, y, dimw, bottom=0.001)

Мы устанавливаем параметр bottom равным 0.001, чтобы избежать появления столбцов с высотой 0, что несовместимо с логарифмической шкалой.

Настройка диаграммы

Мы можем настроить внешний вид нашей диаграммы, добавив метки к осям x и y и установив масштаб оси y в логарифмический.

ax.set_xticks(x + dimw / 2, labels=map(str, x))
ax.set_yscale('log')

ax.set_xlabel('x')
ax.set_ylabel('y')

Отображение диаграммы

Наконец, мы можем отобразить нашу диаграмму с помощью метода show().

plt.show()

Резюме

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