В этом уроке мы погрузимся в увлекательный мир визуализации данных с помощью Plotly и изучим методы создания привлекательных сгруппированных гистограмм с двумя осями Y. Сгруппированные гистограммы позволяют нам сравнивать несколько категорий в разных группах, а двойные оси Y позволяют нам визуализировать два разных набора данных в разных масштабах. К концу этой статьи вы получите четкое представление о том, как создавать и настраивать эти диаграммы с помощью мощных функций Plotly.
Содержание:
- Настройка среды
- Создание базовой сгруппированной гистограммы
- Добавление второй оси Y
- Настройка графика
4.1 Настройка ширины сгруппированных полос
4.2 Форматирование меток осей
4.3 Настройка диапазонов осей - Улучшение визуализации
5.1 Добавление меток данных
5.2 Изменение цвета полос
5.3 Выделение определенных полос - Заключение
Раздел 1: Настройка среды
Прежде чем мы начнем, убедитесь, что у вас установлен Plotly и необходимые зависимости. Мы также импортируем необходимые библиотеки и настроим данные для нашей диаграммы.
# Importing the required libraries
import plotly.graph_objects as go
import numpy as np
# Setting up the data
categories = ['Category 1', 'Category 2', 'Category 3']
group1 = [10, 20, 30]
group2 = [15, 25, 35]
Раздел 2. Создание базовой сгруппированной гистограммы
Давайте начнем с создания базовой сгруппированной гистограммы без двойной оси Y. Мы будем использовать трассировку go.BarPlotly для определения наших столбцов и go.Figureдля объединения их в диаграмму.
# Creating the basic grouped bar chart
fig = go.Figure()
fig.add_trace(go.Bar(x=categories, y=group1, name='Group 1'))
fig.add_trace(go.Bar(x=categories, y=group2, name='Group 2'))
fig.show()
Раздел 3. Добавление второй оси Y
Чтобы реализовать функциональность двойной оси Y, нам необходимо определить дополнительную ось Y и связать ее с одной из групп полос. Для этого мы воспользуемся функцией make_subplotsиз модуля plotly.subplotsPlotly.
# Adding a second Y-axis
fig = go.Figure()
fig.add_trace(go.Bar(x=categories, y=group1, name='Group 1', yaxis='y'))
fig.add_trace(go.Bar(x=categories, y=group2, name='Group 2', yaxis='y2'))
fig.update_layout(yaxis2=dict(overlaying='y', side='right', title='Group 2'))
fig.show()
Раздел 4. Настройка графика
Теперь, когда у нас есть сгруппированная гистограмма с двойной осью Y, давайте рассмотрим различные варианты настройки, чтобы улучшить ее внешний вид и читабельность.
4.1 Настройка ширины сгруппированных полос
Мы можем настроить ширину сгруппированных полос, используя атрибуты bargapи widthэлемента update_layoutметод.
# Customizing bar width
fig.update_layout(bargroupgap=0.1, bargap=0.2)
fig.show()
4.2 Форматирование меток осей
Чтобы отформатировать метки на осях, мы можем использовать атрибут tickformatметода update_layout.
# Formatting axes labels
fig.update_layout(yaxis=dict(tickformat='d'), yaxis2=dict(tickformat='d'))
fig.show()
4.3 Настройка диапазонов осей
Если диапазоны осей по умолчанию не соответствуют нашим данным, мы можем вручную установить диапазоны, используя атрибут rangeметода update_layout.
# Adjusting axis ranges
fig.update_layout(yaxis=dict(range=[0, 40]), yaxis2=dict(range=[0, 50]))
fig.show()
Раздел 5. Улучшение визуализации
Чтобы сделать нашу сгруппированную гистограмму еще более привлекательной визуально, мы можем добавлять метки данных, изменять цвета столбцов и выделять определенные столбцы.
5.1 Добавление меток данных
Мы можем отображать значения каждого столбца на диаграмме, используя атрибут textтрассировки go.Bar.
# Adding data labels
fig.add_trace(go.Bar(x=categories, y=group1, name='Group 1', yaxis='y', text=group1, textposition='auto'))
fig.add_trace(go.Bar(x=categories, y=group2, name='Group 2', yaxis='y2', text=group2, textposition='auto'))
fig.show()
5.2 Изменение цвета полос
Чтобы изменить цвета полос, мы можем использовать атрибут markerтрассы go.Bar.
# Changing bar colors
fig.add_trace(go.Bar(x=categories, y=group1, name='Group 1', yaxis='y', marker=dict(color='blue')))
fig.add_trace(go.Bar(x=categories, y=group2, name='Group 2', yaxis='y2', marker=dict(color='green')))
fig.show()
5.3 Выделение определенных полос
Мы можем выделить определенные полосы, настроив их цвет или ширину. Давайте выделим первый столбец в каждой группе.
# Highlighting specific bars
fig.add_trace(go.Bar(x=categories, y=group1, name='Group 1', yaxis='y', marker=dict(color='blue')))
fig.add_trace(go.Bar(x=categories, y=group2, name='Group 2', yaxis='y2', marker=dict(color='green')))
fig.update_traces(marker=dict(color=['yellow', 'lightgreen', 'lightblue']), width=[0.8, 0.8, 0.2])
fig.show()
Раздел 6. Заключение
В этом руководстве мы рассмотрели методы создания и настройки сгруппированных гистограмм с двумя осями Y с помощью Plotly. Мы научились настраивать среду, создавать базовые гистограммы, добавлять вторую ось Y и настраивать различные аспекты графика. Кроме того, мы улучшили визуализацию, добавив метки данных, изменив цвета столбцов и выделив определенные столбцы. Благодаря этим знаниям вы теперь можете создавать в Plotly визуально привлекательные и информативные сгруппированные гистограммы для своих проектов по анализу данных.
Овладев искусством создания сгруппированных гистограмм с двумя осями Y в Plotly, вы сможете эффективно передавать сложную информацию в визуально привлекательной форме.
Не забудьте поэкспериментировать с различными вариантами настройки и раскрыть свой творческий потенциал для создания потрясающих визуализаций!