Руководство по инструменту

Столбчатая диаграмма Plotly: Интерактивные столбчатые диаграммы с Python и JavaScript

Plotly — это мощная библиотека с открытым исходным кодом для создания интерактивных диаграмм издательского качества. В отличие от статических изображений из matplotlib или Excel, столбчатые диаграммы Plotly реагируют на взаимодействие с пользователем — наведение для просмотра деталей, масштабирование, панорамирование и даже запуск действий по клику. Это руководство охватывает создание столбчатых диаграмм с Plotly как на Python, так и на JavaScript, от базовых примеров до расширенных настроек.

Интерактивный пример Столбчатая диаграмма Plotly

Опрос разработчиков: использование языков

Интерактивный стиль диаграммы, похожий на вывод Plotly

fig = px.bar(df, x='language', y=['users', 'growth'], barmode='group')

Что такое Plotly?

Plotly — это библиотека интерактивной визуализации, доступная для Python, JavaScript, R и других языков. Она отображает диаграммы в браузере с помощью D3.js и WebGL, обеспечивая богатую интерактивность даже с большими наборами данных. Plotly Express (Python) предоставляет высокоуровневый API для быстрого создания диаграмм, в то время как plotly.graph_objects предлагает детальный контроль.

  • Интерактивен по умолчанию — всплывающие подсказки, масштабирование, панорамирование, выделение
  • Веб-нативный — прекрасно отображается в браузерах и Jupyter Notebook
  • Кроссплатформенность — Python, JavaScript, R, Julia, MATLAB
  • Интеграция с Dash — создавайте полноценные веб-панели мониторинга с диаграммами Plotly
  • Возможности экспорта — статические изображения (PNG, SVG, PDF) или интерактивный HTML

Базовая столбчатая диаграмма с Plotly Express (Python)

Plotly Express — это самый быстрый способ создания диаграмм Plotly в Python. Для столбчатой диаграммы требуется всего одна строка кода после импорта и подготовки данных. Вот минимальный пример: ```python import plotly.express as px data = {'Category': ['A', 'B', 'C', 'D'], 'Values': [23, 45, 56, 78]} fig = px.bar(data, x='Category', y='Values', title='Базовая столбчатая диаграмма') fig.show() ```

  • px.bar() по умолчанию создает вертикальные столбцы
  • x и y определяют столбец категории и столбец значений
  • fig.show() отображает интерактивную диаграмму
  • Работает в Jupyter Notebook, Colab, VS Code и скриптах
  • Добавьте color='имя_столбца' для цветных столбцов по категориям

Горизонтальная столбчатая диаграмма в Plotly

Переверните ориентацию, установив orientation='h' и поменяв местами назначения x и y. Горизонтальные столбчатые диаграммы лучше подходят для длинных названий категорий или когда у вас много категорий. ```python fig = px.bar(data, x='Values', y='Category', orientation='h', title='Горизонтальная столбчатая диаграмма') fig.show() ```

Группированная (кластеризованная) столбчатая диаграмма

Отображайте несколько рядов рядом, используя параметр color. Plotly автоматически группирует столбцы для каждой категории. ```python import plotly.express as px df = px.data.medals_long() # Пример набора данных fig = px.bar(df, x='nation', y='count', color='medal', barmode='group', title='Олимпийские медали по странам') fig.show() ```

  • barmode='group' размещает столбцы рядом
  • Параметр color разделяет данные на отдельные ряды столбцов
  • Каждый цвет становится элементом легенды
  • При наведении показываются детали отдельного столбца

Штабелированная столбчатая диаграмма с Plotly

Измените barmode на 'stack', чтобы создать штабелированные столбчатые диаграммы. Поведение по умолчанию при использовании color без указания barmode — это штабелирование. ```python fig = px.bar(df, x='nation', y='count', color='medal', barmode='stack', title='Штабелированные олимпийские медали') fig.show() ```

Настройка столбчатых диаграмм Plotly

Plotly предлагает широкие возможности настройки с помощью методов update_layout() и update_traces(). Вы можете изменять цвета, шрифты, оси, аннотации и многое другое.

  • fig.update_layout(title_font_size=24) — настройка стиля заголовка
  • fig.update_traces(marker_color='blue') — изменение цветов столбцов
  • fig.update_xaxes(tickangle=45) — поворот меток осей
  • color_discrete_sequence=['#1f77b4', '#ff7f0e'] — пользовательская цветовая палитра
  • fig.add_annotation() — добавление текстовых аннотаций в любом месте

Столбчатая диаграмма Plotly на JavaScript

barChartGuides.guides.plotly-bar-chart.content.sections.6.content

Добавление интерактивности и анимации

Улучшите пользовательский опыт с помощью анимации и интерактивных функций, которые Plotly включает по умолчанию или с минимальной настройкой.

  • Всплывающие подсказки — включены по умолчанию, настройте с помощью hovertemplate
  • События клика — используйте событие plotly_click в JavaScript для пользовательских действий
  • Анимация — добавьте параметр animation_frame для анимированных переходов
  • Ползунок диапазона — добавьте rangeslider для исследования временных рядов
  • Кнопки/Выпадающие списки — добавьте элементы управления интерфейсом с помощью updatemenus

Когда использовать Plotly vs ChartGen.ai

Plotly превосходен для разработчиков, создающих интерактивные панели мониторинга или приложения для работы с данными, где важен программный контроль. Однако для быстрой визуализации или когда вы не хотите писать код, ChartGen.ai предлагает более быстрый путь к профессиональным диаграммам.

  • Выбирайте Plotly, когда: создаете приложения/панели мониторинга, нуждаетесь в программных обновлениях, требуется сложная интерактивность
  • Выбирайте ChartGen.ai, когда: быстрые разовые диаграммы, предпочтение не кодировать, нужен мгновенный экспорт, клиентские презентации
  • Преимущество ChartGen.ai: вставьте данные, получите диаграмму за секунды — без настройки библиотек
  • Преимущество Plotly: полный контроль, анимация, пользовательские обработчики кликов

Пошагово: Как создать Столбчатая диаграмма Plotly

1

Установка Plotly

Python: pip install plotly. JavaScript: включите через CDN или npm install plotly.js.

2

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

Python: import plotly.express as px. JavaScript: включите тег script или инструкцию import.

3

Подготовка данных

Организуйте данные как DataFrame (Python) или массив объектов (JavaScript) со столбцами категорий и значений.

4

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

Python: fig = px.bar(df, x='category', y='value'). JavaScript: Plotly.newPlot('div', data).

5

Настройка внешнего вида

Используйте update_layout(), update_traces() в Python или объекты layout/config в JavaScript.

6

Отображение или экспорт

fig.show() для интерактивного отображения, fig.write_image() для статического экспорта или fig.to_html() для встраивания в веб.

Часто задаваемые вопросы

Бесплатен ли Plotly в использовании?
Да, основные библиотеки Plotly (plotly.py, plotly.js) имеют открытый исходный код и бесплатны. Plotly также предлагает коммерческие продукты, такие как Dash Enterprise для развертывания, но сами библиотеки диаграмм бесплатны.
Как сохранить столбчатую диаграмму Plotly как изображение?
В Python: fig.write_image('chart.png') (требуется пакет kaleido). В браузере нажмите на значок камеры на панели инструментов диаграммы. Вы также можете экспортировать как SVG, PDF или интерактивный HTML.
Могу ли я использовать Plotly без кодирования?
Plotly Chart Studio предлагает веб-интерфейс для создания диаграмм без кода, но он ограничен по сравнению с библиотеками. Для столбчатых диаграмм без кода аналогичного качества ChartGen.ai является более быстрой альтернативой.
Как создать штабелированную столбчатую диаграмму в Plotly?
Используйте barmode='stack' в px.bar() или установите barmode:'stack' в объекте layout для JavaScript. Сгруппируйте данные с помощью параметра color, чтобы определить сегменты штабеля.
Plotly против Matplotlib для столбчатых диаграмм?
Matplotlib создает статические изображения; Plotly создает интерактивные веб-диаграммы. Используйте Matplotlib для публикаций или когда интерактивность не нужна. Используйте Plotly для панелей мониторинга, презентаций или интерактивного исследования данных.
Какой самый быстрый способ создать столбчатую диаграмму, если я не хочу кодировать?
ChartGen.ai создает профессиональные столбчатые диаграммы мгновенно из вставленных данных. Ни Python, ни JavaScript, ни настройки библиотек — просто вставьте и экспортируйте. Идеально, когда вам нужны быстрые результаты без среды разработки.

Связанные руководства

Начните создавать профессиональные столбчатые диаграммы сегодня

Присоединяйтесь к тысячам пользователей, которые создают потрясающие визуализации данных с ChartGen.ai. Бесплатно, регистрация не требуется.