Plotly python: Plotly Python Graphing Library | Python
визуализация данных в Python вместе с plotly
Красочное интерактивное отображение датасета в одну строку? Не проблема с plotly! Разбираемся с построением интерактивных графиков и диаграмм.
Если спросить питонистов, какую библиотеку использовать для визуализации данных, то большинство, несомненно, ответят: matplotlib. Ответят, правда, без особого удовольствия. Многое в matplotlib не так уж очевидно и требует не раз обратиться к StackOverflow. Касается это и таких распространенных ситуаций, как создание дополнительных осей или отображение на них дат.
Нужно понимать, что matplotlib создавался задолго до бурного развития Data Science, и в большей мере ориентировался на отображение массивов NumPy и параметрических функций SciPy. В то же время в Data Science распространен обобщающий тип объектов – датасеты, крупные таблицы с данными. В этой статье мы нырнем в работу с альтернативной библиотекой – plotly – и научимся визуализировать множество самых необходимых вещей.
Весь код доступен на GitHub. Интерактивные графики можно (и нужно) смотреть на NBViewer. Приводимые куски кода будут отображать только минимальную часть, необходимую для визуализации данных. Предподготовка данных – в указанных источниках.
Пакет plotly – библиотека с открытым исходным кодом, построенная на plotly.js, которая, в свою очередь, базируется на d3.js. В своих экспериментах с кодом будем использовать обертку над plotly cufflinks. Она упрощает работу с датафреймами pandas. Plotly – это графическая компания, производящая несколько продуктов и инструментов с открытым исходным кодом. Библиотека бесплатна для использования и позволяет создавать неограниченное количество графиков в автономном режиме, а также до 25 диаграмм онлайн.
Вся работа статье была сделана в блокноте Jupyter в связке plotly+cufflinks, которые можно установить стандартным образом с помощью pip:
pip install cufflinks plotly
Соответствующий импорт Python библиотек:
# Стандартное импортирование plotly import plotly. plotly as py import plotly.graph_objs as go from plotly.offline import iplot # Использование cufflinks в офлайн-режиме import cufflinks cufflinks.go_offline() # Настройка глобальной темы cufflinks cufflinks.set_config_file(world_readable=True, theme='pearl', offline=True)
Перейдем к примерам.
Построение распределения переменной – стандартный способ начального анализа данных. При помощи plotly легко сделать интерактивное представление гистограмм и прочих распределений. Для тех, кто использовал ранее matplotlib, нужно вместо команды plot просто использовать iplot:
df['claps'].iplot(kind='hist', xTitle='claps', yTitle='count', title='Claps Distribution')
Если мы хотим сравнить распределение двух переменных, можем наложить две гистограммы друг на друга:
df[['time_started', 'time_published']].iplot( kind='hist', histnorm='percent', barmode='overlay', xTitle='Time of Day', yTitle='(%) of Articles', title='Time Started and Time Published')
Проведя некоторые манипуляции в pandas, получаем диаграмму с распределением относительно времени:
df2 = df[['view','reads','published_date']]. \ set_index('published_date').\ resample('M').mean() df2.iplot(kind='bar', xTitle='Date', yTitle='Average', title='Monthly Average Views and Reads')
Комбинируя мощь pandas и plotly, легко получать интерактивные сводные диаграммы:
df.pivot(columns='publication', values='fans').iplot( kind='box', yTitle='fans', title='Fans Distribution by Publication')
Интерактивное представление позволяет не загромождать исходный график избыточной информацией, обращаясь к ней по необходимости.
Одна из распространенных задач – отображение данных относительно временной шкалы. Здесь актуальна возможность выбора интересующего интервала для отслеживания тренда.
tds = df[df['publication'] == 'Towards Data Science'].\ set_index('published_date') tds[['claps', 'fans', 'title']].iplot( y='claps', mode='lines+markers', secondary_y = 'fans', secondary_y_title='Fans', xTitle='Date', yTitle='Claps', text='title', title='Fans and Claps over Time')
В одной строке были сделаны сразу несколько вещей:
- Задание формата оси абсцисс.
- Создание дополнительной оси ординат, так как исследуемые данные имеют разный масштаб величин (secondary_y = ‘fans’).
- Добавление заголовков статей к каждой точке, отображаемых при наведении курсора (рассматривается датафрейм публикации статей (text=’title’)).
Чтобы создать к каждой точке текстовые аннотации, используем режим lines+markers+text:
tds_monthly_totals.iplot( mode='lines+markers+text', text=text, y='word_count', opacity=0.8, xTitle='Date', yTitle='Word Count', title='Total Word Count by Month')
Легко сочетать и различные типы отображения. Например, использовать цвет для дополнительной переменной.
df.pivot_table( values='views', index='published_date', columns='publication').cumsum().iplot( mode='markers+lines', size=8, symbol=[1, 2, 3, 4, 5], layout=dict( xaxis=dict(title='Date'), yaxis=dict(type='log', title='Total Views'), title='Total Views over Time by Publication'))
Совместим данные двух переменных (для рассматриваемого датасета это время чтения и процент прочитанного). Для третьего параметра (тематика статьи) используем цвет:
df.iplot( x='read_time', y='read_ratio', # Specify the category categories='publication', xTitle='Read Time', yTitle='Reading Percent', title='Reading Percent vs Read Ratio by Publication')
Если величина меняется в широком диапазоне логично использовать логарифмические оси. В примере ниже представлен код с логарифмической осью абсцисс (команда type=’log’). Третья переменная показывается при помощи размера маркеров (size=’read_ratio’).
tds.iplot( x='word_count', y='reads', size='read_ratio', text=text, mode='markers', layout=dict( xaxis=dict(type='log', title='Word Count'), yaxis=dict(title='Reads'), title='Reads vs Log Word Count Sized by Read Ratio'))
Описанные стратегии отображения дополнительной переменной можно использовать для одновременной визуализации четырех переменных: двух – при помощи координат, и еще двух – за счет использования цвета и размера. Результат представлен на рисунке ниже.
Для следующих форм представления данных будем использовать модуль plotly.figure_factory.
Матрица диаграмм рассеяния
Показать взаимосвязь между параметрами поможет матрица диаграмм рассеяния. В качестве диагонального отображения единственной переменной используем гистограммы (diag=’histogram’). Заметим, что и здесь мы можем использовать цвет в качестве дополнительной переменной.
import plotly.figure_factory as ff figure = ff.create_scatterplotmatrix( df[['claps', 'publication', 'views', 'read_ratio','word_count']], diag='histogram', index='publication')
Цветовая карта распределения
Другой способ, удобный для большого количества переменных – цветовая карта распределения величины. Такой подход удобен, например, для корреляционной матрицы параметров датасета df.corr():
corrs = df. corr() figure = ff.create_annotated_heatmap( z=corrs.values, x=list(corrs.columns), y=list(corrs.index), annotation_text=corrs.round(2).values, showscale=True)
Приятной особенностью cufflinks является возможность выбора стиля отображения данных с помощью различных тем. Ниже представлены отображения в темах space и ggplot:
Есть возможность визуализации в трехмерном пространстве:
Есть и все, что привычно видеть в стандартном наборе построения диаграмм. Но даже круговые диаграммы выглядят здесь более стильно, чем в matplotlib:
Если вы запускали скрипты в Jupyter-блокноте, вы могли заметить небольшую ссылку в правой части графика Export to plot.ly. Нажав на нее, вы перенесетесь в Chart Studio, где можно дополнительно подготовить диаграмму для конечной презентации. Вы можете добавить аннотацию, изменить цвета и пр. Ниже представлены две диаграммы, подготовленные в Chart Studio.
Даже все вышепредставленное не описывает всех возможностей описываемых библиотек. Чтобы увидеть больше красочных примеров, изучите документации plotly и cufflinks.
Итак, что мы имеем:
- Однострочный код для красочной визуализации датасетов.
- Интерактивные элементы для выделения и исследования данных.
- Возможность существенной детализации отображаемой информации.
- Простая настройка отображения для презентации с использованием преднастроенных шаблонов.
Таким образом, plotly в связке с cufflinks позволяет с минимальными усилиями быстро создавать интерактивное отображение датасетов.
Источник (англ. язык)
Plotly-Python – вопросы и ответы по программированию
Это может звучать как очень широкий вопрос, но если вы позволите мне описать некоторые детали, я могу заверить вас, что это очень конкретно . Так же как обескураживающий, расстраивающий и вызывающи…
4 месяца, 2 недели назад
vestland
У меня есть следующий код для создания линейного графика с помощью Plotly. Как я могу установить диапазон оси Y, чтобы он всегда был в [0; 10]? layout = go.Layout( title=go.layout.Title( text=»Test…
4 месяца, 4 недели назад
Tatik
Я пытаюсь адаптировать пример Python Plotly «Добавление ползунков к анимации в Python» к диаграмме, но получаю сообщение «Поле рисунка недопустимо». Я пытаюсь адаптировать входные данные, чтобы они…
1 год, 2 месяца назад
Calum
Поэтому я застрял, пытаясь создать сюжет с несколькими диаграммами Санки. В частности, я продолжаю получать сообщение об ошибке «Недопустимое свойство, указанное для объекта типа plotly.graph_objs….
У меня есть точечная диаграмма, построенная на графике (в частности, в автономном режиме на графике с API-интерфейсом Python на ноутбуке Jupyter), и, как вы знаете, на графике пользователю легко ма…
2 года, 3 месяца назад
Federico S
Привет, я пытаюсь изменить, где мои бары начинаются и останавливаются на гистограмме. Моя цель — иметь бар, который охватывает весь месяц. сейчас мой код: cumulative = go.Bar(y=self.gb[self.y_colum…
Есть ли способ изменить оси на графике рассеяния? скажем, переместите ось от (0,0), т.е. (нулевая линия) к чему-то вроде (3,3) и построите граф квадрантов Я попытался установить значение «zeroline»…
2 года, 1 месяц назад
smith
Я использую запонки и заговор в автономном режиме в режиме Jupyter. Мне нужна помощь в построении графиков временных рядов с рассчитанными доверительными интервалами в виде полос Боллинджера. Если …
2 года, 1 месяц назад
Wynn
Мне нужно изменить сюжетный заголовок в Python, а именно, повернуть его на 90 градусов. Я старался, но безуспешно. Вот мой код import plotly.offline as pyo import plotly.graph_objs as go from plotl…
В документах, представленных на графике , отображается шаблон hovertemplate , обеспечивающий доступ к значениям x & y в тексте, но как мы можем
2 года, 1 месяц назад
blehman
По сути, я хочу знать, как поместить заголовок в пример на URL: https://plot. ly/python/table-subplots/ в разделе: Таблицы и правые совмещенные участки Есть три диаграммы и одна таблица, как мне доб…
2 года, 2 месяца назад
Mike
У меня есть два графика, которые я хочу показать, используя plotly updatemenus . Я могу заполнять и отображать данные, используя функцию updatemenus . Однако, когда график загружается, оба графика …
У меня есть рамка панд с матрицей расстояний, я использую PCA для уменьшения яркости. Кадр данных этой матрицы расстояний имеет метку для каждой точки и размер. Как сделать так, чтобы каждая рассея. ..
2 года, 1 месяц назад
Jay Qadan
У меня есть значения для каждого из треугольных элементов в сетке, а не вершин. Я знаю, что трассировка mesh4d не позволяет вам напрямую создавать цветную полосу из лицевых красок, но есть ли спосо…
2 года, 1 месяц назад
M. Baum
Я хочу создать график с леденцом на палочке с несколькими горизонтальными отрезками, например: https://python-graph-gallery. com/184-lollipop-plot-with-2-group . Я хотел бы использовать заговор, так…
opensofty | Python Plotly Tutorial
Plotly — аналитическая компания, известная разработчиками инструментов анализа, статистики и построения графиков в реальном времени для веб-приложений и автономных скриптов Python. В этом уроке мы рассмотрим основные примеры с помощью Plotly и создадим простые и интуитивно понятные графы данных временных рядов, которые будут на 100% интерактивными по своей природе и в то же время простыми для проектирования. Эти графики можно использовать в презентациях, поскольку они полностью интерактивны и готовы к игре.
Существует также возможность сохранить графический дизайн в автономном режиме, чтобы его можно было легко экспортировать. Есть много других функций, которые делают использование библиотеки очень простым:
- Сохраняйте графики для автономного использования в качестве векторной графики, которые оптимизированы для печати и публикации
- Экспортируемые диаграммы представлены в формате JSON, а не в формате изображения. Этот JSON можно легко загрузить в другие инструменты визуализации, такие как Tableau, или манипулировать им с помощью Python или R.
- Поскольку экспортируемые графики по своей природе являются JSON, эти диаграммы практически легко внедрить в веб-приложение.
- Plotly — хорошая альтернатива Matplotlib для визуализации
Чтобы начать использовать пакет Plotly, нам нужно зарегистрировать учетную запись на упомянутом ранее веб-сайте, чтобы получить действительное имя пользователя и ключ API, с помощью которых мы можем начать использовать его функциональные возможности. К счастью, для Plotly доступен бесплатный тарифный план, с помощью которого мы получаем достаточно функций для создания графиков промышленного уровня.
Установка Plotly
Прежде чем начать, просто обратите внимание, вы можете использовать виртуальную среду для этого урока, которую мы можем сделать с помощью следующей команды:
python -m virtualenv plotly
source numpy/bin/activate
Когда виртуальная среда активна, вы можете установить библиотеку Plotly в виртуальной среде, чтобы можно было выполнить следующие примеры:
Мы будем использовать Anaconda и Jupyter в этом уроке. Если вы хотите установить его на свой компьютер, посмотрите урок, который описывает « Как установить Anaconda Python на Ubuntu 18.04 LTS », и поделитесь своим мнением, если у вас возникнут какие-либо проблемы. Чтобы установить Plotly с Anaconda, используйте следующую команду в терминале от Anaconda:
conda install -c plotly plotly
Мы видим что-то подобное, когда выполняем указанную выше команду:
После того, как все необходимые пакеты установлены и готовы, мы можем начать использовать библиотеку Plotly со следующим оператором импорта:
После того, как вы создали учетную запись на Plotly, вам понадобятся две вещи — имя пользователя учетной записи и ключ API. Для каждой учетной записи может быть только один ключ API. Так что держите его где-нибудь в безопасности, как если бы вы его потеряли, вам придется заново создать ключ, и все старые приложения, использующие старый ключ, перестанут работать.
Во всех написанных вами программах на Python укажите учетные данные, чтобы начать работать с Plotly:
plotly. tools.set_credentials_file(username = ‘username’, api_key = ‘your-api-key’)
Давайте начнем с этой библиотеки сейчас.
Начало работы с Plotly
Мы будем использовать следующие импорты в нашей программе:
import pandas as pd
import numpy as np
import scipy as sp
import plotly.plotly as py
Мы используем:
- Панды для эффективного чтения файлов CSV
- NumPy для простых табличных операций
- Scipy для научных расчетов
- Сюжет для визуализации
В некоторых примерах мы будем использовать собственные наборы данных Plotly, доступные на Github . Наконец, обратите внимание, что вы также можете включить автономный режим для Plotly, когда вам нужно запустить сценарии Plotly без сетевого подключения:
import pandas as pd
import numpy as np
import scipy as sp
import plotly
plotly.offline.init_notebook_mode(connected=True)
import plotly.offline as py
Вы можете выполнить следующую инструкцию для проверки установки Plotly:
print(plotly. __version__)
Мы видим что-то подобное, когда выполняем указанную выше команду:
Наконец, мы загрузим набор данных с помощью Pandas и представим его в виде таблицы:
import plotly.figure_factory as ff
df = pd.read_csv(«https://raw.githubusercontent.com/plotly/datasets/master/school_
earnings.csv»)
table = ff.create_table(df)
py.iplot(table, filename=’table’)
Мы видим что-то подобное, когда выполняем указанную выше команду:
Теперь давайте построим гистограмму для визуализации данных:
import plotly.graph_objs as go
data = [go.Bar(x=df.School, y=df.Women)]
py.iplot(data, filename=’women-bar’)
Мы видим что-то вроде этого, когда выполняем приведенный выше фрагмент кода:
Когда вы увидите график выше с блокнотом Jupyter, вам будут предложены различные варианты увеличения / уменьшения масштаба в определенном разделе графика, выбора Box & Lasso и многое другое.
Сгруппированные гистограммы
Несколько графиков гистограммы могут быть сгруппированы вместе для целей сравнения очень легко с Plotly. Давайте для этого воспользуемся одним и тем же набором данных и покажем различия в представленности мужчин и женщин в университетах:
women = go.Bar(x=df.School, y=df.Women)
men = go.Bar(x=df.School, y=df.Men)
data = [men, women]
layout = go.Layout(barmode = «group»)
fig = go.Figure(data = data, layout = layout)
py.iplot(fig)
Мы видим что-то вроде этого, когда выполняем приведенный выше фрагмент кода:
Хотя это выглядит хорошо, надписи в правом верхнем углу не верны! Давайте исправим их:
women = go.Bar(x=df.School, y=df.Women, name = «Women»)
men = go.Bar(x=df.School, y=df.Men, name = «Men»)
График выглядит гораздо более наглядным:
Давайте попробуем изменить бармод:
layout = go.Layout(barmode = «relative»)
fig = go.Figure(data = data, layout = layout)
py.iplot(fig)
Мы видим что-то вроде этого, когда выполняем приведенный выше фрагмент кода:
Круговые диаграммы с Plotly
Теперь мы попытаемся построить круговую диаграмму с помощью Plotly, которая устанавливает базовую разницу между процентом женщин во всех университетах. Наименования университетов будут метками, а фактические цифры будут использоваться для расчета процента от целого. Вот фрагмент кода для того же:
trace = go.Pie(labels = df.School, values = df.Women)
py.iplot([trace], filename=’pie’)
Мы видим что-то вроде этого, когда выполняем приведенный выше фрагмент кода:
Хорошо, что в Plotly есть множество функций увеличения и уменьшения, а также множество других инструментов для взаимодействия с построенным графиком.
Визуализация данных временных рядов с помощью Plotly
Визуализация данных временных рядов является одной из наиболее важных задач, с которыми вы сталкиваетесь, когда вы аналитик данных или инженер данных.
В этом примере мы будем использовать отдельный набор данных в том же репозитории GitHub, так как более ранние данные специально не включали данные с метками времени. Как и здесь, мы будем строить график изменения рыночной доли Apple с течением времени:
financial = pd.read_csv(«https://raw.githubusercontent.com/plotly/datasets/master/
finance-charts-apple.csv»)
data = [go.Scatter(x=financial.Date, y=financial[‘AAPL.Close’])]
py.iplot(data)
Мы видим что-то вроде этого, когда выполняем приведенный выше фрагмент кода:
Когда вы наводите указатель мыши на линию изменения графика, вы можете указать конкретные детали точки:
Мы можем использовать кнопки увеличения и уменьшения, чтобы увидеть данные, относящиеся также к каждой неделе.
OHLC Chart
Диаграмма OHLC (Open High Low Close) используется, чтобы показать изменение объекта за промежуток времени. Это легко построить с помощью PyPlot:
from datetime import datetime
open_data = [33.0, 35.3, 33.5, 33.0, 34.1]
high_data = [33.1, 36.3, 33.6, 33.2, 34.8]
low_data = [32.7, 32.7, 32.8, 32.6, 32.8]
close_data = [33.0, 32.9, 33.3, 33.1, 33.1]
dates = [datetime(year=2013, month=10, day=10),
datetime(year=2013, month=11, day=10),
datetime(year=2013, month=12, day=10),
datetime(year=2014, month=1, day=10),
datetime(year=2014, month=2, day=10)]
trace = go.Ohlc(x=dates,
open=open_data,
high=high_data,
low=low_data,
close=close_data)
data = [trace]
py.iplot(data)
Здесь мы предоставили некоторые примерные точки данных, которые можно вывести следующим образом:
- Открытые данные описывают курс акций при открытии рынка
- Высокие данные описывают самый высокий уровень запасов, достигнутый за данный период времени.
- Низкие данные описывают самый низкий уровень запасов, достигнутый за данный период времени.
- Данные закрытия описывают курс закрытия запасов, когда заданный интервал времени истек
Теперь давайте запустим фрагмент кода, который мы предоставили выше. Мы видим что-то вроде этого, когда выполняем приведенный выше фрагмент кода:
Это отличное сравнение того, как установить временное сравнение объекта с его собственным и сравнить его с высокими и низкими достижениями.
Вывод
В этом уроке мы рассмотрели другую библиотеку визуализации, Plotly, которая является отличной альтернативой Matplotlib в приложениях производственного уровня, представленных в виде веб-приложений. Plotly — это очень динамичная и многофункциональная библиотека для использования в производственных целях, так что это определенно навык, который мы должны иметь под нашим поясом.
Найдите весь исходный код, использованный в этом уроке, на Github . Пожалуйста, поделитесь своими отзывами об уроке в Твиттере с @sbmaggarwal и @LinuxHint .
Качественно новый уровень визуализации данных в Python
Рассказывает Уилл Кёрсен, data scientist в Cortex Intel
Нам сложно отказываться от дел, на которые мы уже потратили много времени. Поэтому мы остаёмся на нелюбимой работе, вкладываемся в проекты, которые точно не «взлетят». А ещё продолжаем пользоваться утомительной библиотекой matplotlib для построения графиков, когда есть более эффективные и привлекательные альтернативы.
За последние несколько месяцев я осознал, что единственная причина, по которой я пользуюсь matplotlib, заключается в том, что я потратил сотни часов на изучение её запутанного синтаксиса. Из-за неё я жил на StackOverflow, пытаясь найти ответ на тот или иной вопрос. К счастью, для создания графиков на Python настали светлые времена, и после изучения доступных вариантов я выбрал явного победителя (с точки зрения простоты использования, документации и функциональности) в лице библиотеки plotly. В этой статье мы с ней познакомимся и научимся делать более качественные графики за меньшее время — зачастую с помощью одной строки кода.
Весь код для этой статьи доступен на GitHub. Все графики интерактивны, а посмотреть их можно на NBViewer.
Пример графиков plotly (источник)
Обзор plotly
Пакет plotly для Python — это open-source библиотека, основанная на plotly.js, которая, в свою очередь, основана на d3.js. Мы будем использовать обёртку для plotly под названием cufflinks, написанную для работы с DataFrame’ами Pandas.
Вообще, Plotly — это графическая компания с несколькими продуктами и open-source инструментами. Библиотека на Python бесплатна для использования, и мы можем создавать графики без ограничений в офлайн-режиме плюс до 25 графиков в онлайн-режиме.
Весь код из этой статьи был написан в Jupyter Notebook с plotly + cufflinks, запущенными в офлайн-режиме. После установки plotly и cufflinks с помощью pip install cufflinks plotly
добавьте следующие импорты в блокнот Jupyter:
# Стандартные импорты plotly
import plotly.plotly as py
import plotly.graph_obs as go
from plotly.offline import iplot
import cufflinks
cufflinks.go_offline()
# Устанавливаем глобальную тему
cf.set_config_file(world_readable=True, theme='pearl', offline=True)
Гистограммы и бочки с усами
Графики по одной переменной — стандартный способ начать анализ, а гистограмма — надёжный выбор (хоть и не без изъянов) для отображения распределения. Давайте нарисуем интерактивную гистограмму количества лайков, используя статистику моих постов на Medium (df
это обычный DataFrame):
df['claps'].iplot(kind='hist', xTitle='claps',
yTitle='count', title='Claps Distribution')
Интерактивная гистограмма, созданная с помощью plotly + cufflinks
Если вы работали с matplotlib, то вы заметили, что нам пришлось добавить всего одну букву (iplot()
вместо plot()
), чтобы получить гораздо более красивый и интерактивный график! Можно кликнуть на данные для получения подробностей, приблизить части графика и, как мы потом увидим, выбирать отдельные категории для просмотра.
А вот так можно построить наложенные друг на друга гистограммы:
df[['time_started', 'time_published']].iplot(
kind='hist',
histnorm='percent',
barmode='overlay',
xTitle='Time of Day',
yTitle='(%) of Articles',
title='Time Started and Time Published')
Немного поколдовав с pandas, получим столбчатую диаграмму:
# Создаём DataFrame с месячной частотой и строим график
df2 = df[['view','reads','published_date']].\
set_index('published_date').\
resample('M').mean()
df2.iplot(kind='bar', xTitle='Date', yTitle='Average',
title='Monthly Average Views and Reads')
Как видите, мы можем совмещать возможности pandas и plotly + cufflinks. Для графика «ящик с усами», который показывает количество лайкнувших каждый пост, мы сначала используем pivot()
, а затем строим график:
df.pivot(columns='publication', values='fans').iplot(
kind='box',
yTitle='fans',
title='Fans Distribution by Publication')
Преимущества интерактивности заключаются в том, что мы можем исследовать данные и делать их выборки любым образом. Ящик с усами содержит много информации, большая часть которой пройдёт мимо нас, если мы не сможем видеть числа!
Диаграмма рассеяния
Это, наверное, наиболее часто используемая диаграмма при анализе данных. Она позволяет увидеть изменение переменной с течением времени или отношение между двумя (или более) переменными.
Временные ряды
В значительной части данных содержится информация о времени. К счастью, plotly + cufflinks были разработаны с расчётом на визуализацию временных рядов. Создадим DataFrame с моими статьями и посмотрим, как менялись тренды.
# Создаём DataFrame со статьями Towards Data Science
tds = df[df['publication'] == 'Towards Data Science'].\
set_index('published_date')
# Строим продолжительность чтения как временной ряд
tds[['claps', 'fans', 'title']].iplot(
y='claps', mode='lines+markers', secondary_y = 'fans',
secondary_y_title='Fans', xTitle='Date', yTitle='Claps',
text='title', title='Fans and Claps over Time')
Здесь мы в одну строку делаем сразу несколько разных вещей:
- Автоматически получаем красиво отформатированную ось X;
- Добавляем дополнительную ось Y, так как у переменных разные диапазоны;
- Добавляем заголовки статей, которые высвечиваются при наведении курсора.
Для большей наглядности можно легко добавить текстовые аннотации:
tds_monthly_totals.iplot(
mode='lines+markers+text',
text=text,
y='word_count',
opacity=0.8,
xTitle='Date',
yTitle='Word Count',
title='Total Word Count by Month')
Диаграмма рассеяния с аннотациями
А вот так можно создать точечную диаграмму с двумя переменными, окрашенными согласно третьей категориальной переменной:
df.iplot(
x='read_time',
y='read_ratio',
# Указываем категорию
categories='publication',
xTitle='Read Time',
yTitle='Reading Percent',
title='Reading Percent vs Read Ratio by Publication')
Сделаем график немного более сложным, используя логарифмическую ось (настраивается через аргумент layout
, подробнее в документации) и установив размер пузырьков в соответствии с числовой переменной:
tds.iplot(
x='word_count',
y='reads',
size='read_ratio',
text=text,
mode='markers',
# Log xaxis
layout=dict(
xaxis=dict(type='log', title='Word Count'),
yaxis=dict(title='Reads'),
title='Reads vs Log Word Count Sized by Read Ratio'))
Если захотеть (подробности в блокноте), то можно уместить даже 4 переменные (не советую) на одном графике!
Как и раньше, мы совмещаем возможности pandas и plotly + cufflinks для получения полезных графиков:
df.pivot_table(
values='views', index='published_date',
columns='publication').cumsum().iplot(
mode='markers+lines',
size=8,
symbol=[1, 2, 3, 4, 5],
layout=dict(
xaxis=dict(title='Date'),
yaxis=dict(type='log', title='Total Views'),
title='Total Views over Time by Publication'))
Загляните в блокнот или документацию, чтобы увидеть больше примеров добавленной функциональности. Мы можем добавить текстовые аннотации, контрольные линии и линии тренда с помощью всего лишь одной строки кода и при этом сохраним всю интерактивность.
Продвинутые графики
Теперь познакомимся с несколькими графиками, которые используются не так часто, но могут выглядеть довольно впечатляюще. Мы воспользуемся plotly.figure_factory(), чтобы даже эти невероятные графики создавать в одну строку.
Матрица рассеяния
Матрица рассеяния — отличный выбор, если нам нужно изучить отношения между многими переменными:
import plotly.figure_factory as ff
figure = ff.create_scatterplotmatrix(
df[['claps', 'publication', 'views',
'read_ratio','word_count']],
diag='histogram',
index='publication')
Даже этот график полностью интерактивен, что позволяет нам исследовать данные.
Корреляционная тепловая карта
Чтобы отобразить взаимосвязи между числовыми переменными, сначала посчитаем коэффициенты корреляции, а затем создадим аннотированную тепловую карту:
corrs = df.corr()
figure = ff.create_annotated_heatmap(
z=corrs.values,
x=list(corrs.columns),
y=list(corrs.index),
annotation_text=corrs.round(2).values,
showscale=True)
Cufflinks также предлагает несколько тем, которые можно использовать для получения совершенно другого стиля, не прилагая усилий. Например, ниже можно увидеть графики с темами «space» и «ggplot»
Не 2D единым:
Ну и куда без круговой диаграммы?
Редактирование в Plotly Chart Studio
В процессе создания этих графиков в блокноте можно заметить маленькую ссылку в правом нижнем углу, которая гласит «Export to plot.ly». После перехода по ней вы попадёте в редактор графиков, где вы можете внести финальные штрихи в график перед презентацией графика. Вы можете добавить аннотации, выбрать цвета и в целом сделать из графика конфетку. Затем можно опубликовать график и поделиться ссылкой на него.
Ниже показаны два графика, которые я подправил в Chart Studio:
Мы упомянули много всего, однако мы всё ещё не раскрыли весь потенциал библиотеки! Настоятельно рекомендую заглянуть в документацию plotly и cufflinks, чтобы увидеть ещё более потрясающие графики:
Интерактивный график ветряных мельниц в США (источник)
Заключение
Когда речь заходит о библиотеках для построения графиков, есть несколько вещей, которые зачастую нужны разработчику:
- Быстрое построение графиков в одну строку.
- Интерактивные элементы для получения более узкой выборки.
- Возможность углубиться в детали при необходимости.
- Простая настройка для конечной презентации.
На данный момент лучше всего для этих целей в Python подходит plotly. Plotly позволяет быстро визуализировать данные и благодаря интерактивности помогает лучше в них разобраться. И давайте начистоту — визуализация должна быть одной из самых приятных частей data science! С использованием других библиотек построение графиков превращалось в утомительное занятие, однако plotly возвращает радость от этого дела.
Смотрите также: Основы статистики с Python
Перевод статьи «The Next Level of Data Visualization in Python»
Построение данных онлайн через Plotly и Python
В своей работе я не слишком много заговариваю , но недавно я узнал о веб-сайте под названием Plotly, который предоставляет услуги печати для чьих-либо данных. У них даже есть сюжетный пакет для Python (среди прочих)! Поэтому в этой статье мы будем учиться строить с их пакетом. Давайте повеселимся, делая графики!
Начиная
Вам потребуется пакет сюжета, чтобы следовать этой статье. Вы можете использовать pip, чтобы получить пакет и установить его:
pip install plotly
Теперь, когда он установлен, вам нужно зайти на сайт Plotly и создать бесплатную учетную запись. Как только это будет сделано, вы получите ключ API. Чтобы упростить задачу, вы можете использовать свое имя пользователя и ключ API для создания файла учетных данных. Вот как это сделать:
import plotly.tools as tls tls.set_credentials_file( username="your_username", api_key="your_api_key") # to get your credentials credentials = tls.get_credentials_file()
Если вы не хотите сохранять свои учетные данные, вы также можете войти в их службу, выполнив следующие действия:
import plotly.plotly as py py.sign_in('your_username','your_api_key')
Для целей этой статьи я предполагаю, что вы создали файл учетных данных. Я обнаружил, что это делает взаимодействие с их службой немного проще в использовании.
Создание Графа
Похоже, Plotly по умолчанию использует Scatter Plot, поэтому мы начнем с этого. Я решил получить некоторые данные с сайта переписи . Вы можете скачать данные о населении любого штата США, а также другие данные. В этом случае я скачал файл CSV, в котором содержалось население каждого округа в штате Айова. Давайте взглянем:
import csv import plotly.plotly as py #---------------------------------------------------------------------- def plot_counties(csv_path): """ http://census.ire.org/data/bulkdata.html """ counties = {} county = [] pop = [] counter = 0 with open(csv_path) as csv_handler: reader = csv.reader(csv_handler) for row in reader: if counter == 0: counter += 1 continue county.append(row[8]) pop.append(row[9]) trace = dict(x=county, y=pop) data = [trace] py.plot(data, filename='ia_county_populations') if __name__ == '__main__': csv_path = 'ia_county_pop.csv' plot_counties(csv_path)
Если вы запустите этот код, вы должны увидеть график, который выглядит следующим образом:
Вы также можете посмотреть график здесь . В любом случае, как вы можете видеть в приведенном выше коде, все, что я сделал, это прочитал файл CSV и извлек название округа и население. Затем я помещаю эти данные в два разных списка Python. Наконец, я создал словарь этих списков, а затем обернул этот словарь в список. Таким образом, вы получите список, содержащий словарь, содержащий два списка! Чтобы создать график рассеяния, я передал данные в метод построения графика .
Преобразование в гистограмму
Теперь давайте посмотрим, сможем ли мы изменить ScatterPlot на гистограмму. Прежде всего, мы поиграемся с данными сюжета. Следующее было сделано через интерпретатор Python:
>>> scatter = py.get_figure('driscollis', '0') >>> print scatter.to_string() Figure( data=Data([ Scatter( x=[u'Adair County', u'Adams County', u'Allamakee County', u'..', ], y=[u'7682', u'4029', u'14330', u'12887', u'6119', u'26076', '..' ] ) ]) )
Это показывает, как мы можем получить рисунок, используя имя пользователя и уникальный номер графика. Затем мы распечатали структуру данных. Вы заметите, что он не распечатывает всю структуру данных. Теперь давайте сделаем фактическое преобразование в гистограмму:
from plotly.graph_objs import Data, Figure, Layout scatter_data = scatter.get_data() trace_bar = Bar(scatter_data[0]) data = Data([trace_bar]) layout = Layout(title="IA County Populations") fig = Figure(data=data, layout=layout) py.plot(fig, filename='bar_ia_county_pop')
Это создаст гистограмму по следующему URL: https://plot.ly/~driscollis/1 . Вот изображение графика:
Этот код немного отличается от кода, который мы использовали изначально. В этом случае мы явно создали объект Bar и передали ему данные графика рассеяния. Затем мы помещаем эти данные в объект данных . Затем мы создали объект Layout и дали нашему графику заголовок. Затем мы создали объект Figure с использованием объектов данных и макета. Наконец мы построили гистограмму.
Сохранение графика на диск
Plotly также позволяет сохранить график на жестком диске. Вы можете сохранить его в следующих форматах: png, svg, jpeg и pdf. Предполагая, что у вас все еще есть объект Figure из предыдущего примера, вы можете сделать следующее:
py.image.save_as(fig, filename='graph.png')
Если вы хотите сохранить, используя один из других форматов, просто используйте расширение этого формата в имени файла.
Завершение
На этом этапе вы должны быть в состоянии использовать пакет plotly довольно хорошо. Доступно много других типов графиков, поэтому обязательно внимательно прочитайте документацию Plotly. Они также поддерживают потоковые графики. Насколько я понимаю, Plotly позволяет создавать 10 графиков бесплатно. После этого вам придется либо удалить некоторые из ваших графиков, либо платить ежемесячную плату.
Дополнительное Чтение
Dash checklist plotly
Dash checklist plotly
Notice, how we added two tuples to get one loosely dashed line and one dotted line. For more, line styles see the Matplotlib documentation. Changing the line types of a Seaborn line plot may be…
«»» Solution to exercise #1 on Week 11 «»» import dash import dash_core_components as dcc import dash_html_components as html from dash.dependencies import Input …
Mar 08, 2018 · Additionally, I aim to add either a button or another Checklist to reset the list to the default suggestions, but prior to this I have to fix the first issue. It makes sense because the graph presents the sales of ~50 products, but 10 out of 50 represents 95% of the sales. So, by default, I want to show the sales figures for these 10 products.
Dash from Plotly is gaining popularity among data scientists for creating richly functional analytics applications in Python. Dash augments Python data libraries much like Shiny sits on top of R. These applications are sometimes referred to as dashboards, but the range of possible functionality is really much greater than the term implies.
Dropdowns. Toggle contextual overlays for displaying lists of links and more with the Bootstrap dropdown plugin. Overview. Dropdowns are toggleable, contextual overlays for displaying lists of links and more.
Mar 08, 2018 · Additionally, I aim to add either a button or another Checklist to reset the list to the default suggestions, but prior to this I have to fix the first issue. It makes sense because the graph presents the sales of ~50 products, but 10 out of 50 represents 95% of the sales. So, by default, I want to show the sales figures for these 10 products.
dash daq, DISPLAY DIMMER/DISPLAY BRIGHTNESS The DashDAQ has a built in light sensor that adjusts the screen brightness according to its surroundings. DashDAQ comes setup to automatically change the brightness of the screen; however, the automatic dimmer can be turned off or set to a specific brightness level.
plotly.py(plotly Python library) 一个开源的、交互式的、基于浏览器的 Python 图形库
Pso2 veteranpercent27s resolve
Dash یک چارچوب پایتون برای ساخت برنامههای کاربردی وب است. این چارچوب بر فراز «فلسک» (Flask)، «پلاتلی دات جیاس» (Plotly.js)، «ریاکت» (React) و «ریاکت جیاس» (React Js) ارائه شده است. این چارچوب به کاربران … Dash tabulator is a Dash / Plotly component providing Tabulator capabilities. This is not a fully comprehensive implementation of Tabulator just the basics necessary to get the application working. Under the covers this uses react-tabulator. This is built on the shoulders of the Dash Plotly team, the Tabulator team, and the React Tabulator team.
Dj competition vibration song mp3 download 2020
Awesome Coronavirus . Huge collection of useful projects and resources for COVID-19 (2019 novel Coronavirus) COVID-19 (2019 novel Coronavirus) is a current epidemic as of today.
KPI DASHBOARD is an irreplaceable tool for any business manager.By collecting, grouping, organizing, and visualizing the company’s important metrics, it provides a quick overview of the company’s performance, well-being, and expected growth.
In this #plotly #dash tutorial video I have talked about how you can create checkbox in plotly dash for allowing user the select an option. #PloltyDash #Dash… The master branch is auto-deployed to dash.plotly.com. Once you have merged your PR, wait 5-10 minutes and check dash.plotly.com to verify that your changes have been made. [x] I understand; If this PR documents a new feature of Dash: [ ] Comment on the original Dash issue with a link to the new docs.
B15 inyectable
In HTML coding, the non-breaking space is a character entity which can: create white space between words or web page elements; stop the browser from breaking a line in the wrong place.
How to Draw 3D Charts with Matplotlib. Plotly Python Tutorial. Basics of Graphing Streaming Big Data. Enabling the Citizen Data Scientists.
# pip install dash==1.8.0 import dash import dash_html_components as html import dash_core_components as dcc import dash_table from dash.dependencies import Input, Output, State # pip install dash_bootstrap_components import dash_bootstrap_components as dbc # pip install plotly_express import plotly_express as px # pip install sd_material_ui … pip install dash==0.22.0 # The core dash backend pip install dash-renderer==0.13.0 # The dash front-end pip install dash-html-components==0.11.0 # HTML components pip install dash-core-components==0.26.0 # Supercharged components pip install plotly —upgrade # Plotly graphing library used in examples. これは書いてある通りに実行。
Revenant apex 3d model
Official examples and reference documentation for dcc.Dropdown. dcc.Dropdown is a dash_core_components component.
Apr 11, 2015 · conda-forge. Organization created on Apr 11, 2015. https://conda-forge.org; A community led collection of recipes, build infrastructure and distributions for the conda package manager.
Aug 14, 2014 · 4: Google Charts. Google Charts (Figure D) is an HTML5-based API offering a variety of chart types — pie, bar, line, tree map, and many others — with a wide array of customizable attributes … Созданный на основе Plotly.js, React и Flask, Dash связывает современные элементы пользовательского …
Quadratic equation test with answers
Live theme selector. If you want to quickly test out different themes with an application, you can simply add themeSelector() somewhere to the UI. This will add a select box which lets you choose the theme.
这里说一下dash,dash是基于plotly制作的库,用于制作精美图表,特别是动态图表,实现数据呈现: … [ html.Div([ dcc.Checklist …
Dec 22, 2017 · Oh I should close this… we changed to Checklist.value in #558 that was released with Dash v1.0 — what version are you using? Also we removed the MutableMapping inheritance in plotly/dash#753 alexcjohnson closed this Sep 17, 2019 私はデータを分析するのと同じくらい共有して視覚化するのが大好きなので、最終的にDashを学ぶための言い訳を与えてくれる仕事中のプロジェクトに熱心でした。Dashは、Flask、Plotlyの上に記述されたPythonのフレームワークです。
Apush past frq
Example Explained. The .dropdown class indicates a dropdown menu.. To open the dropdown menu, use a button or a link with a class of .dropdown-toggle and the data-toggle=»dropdown» attribute.
Dec 01, 2020 · Alex is a freelance writer with more than 10 years of experience in design, development, and small business. His work has been featured in publications like Entrepreneur, Huffington Post, TheNextWeb, and others.
Plotly develops Dash and also offers a platform for deploying Dash in an enterprise environment with premium pricing plans. Dash makes it very easy to create compound apps that have a variety of interactive elements. Key features and benefits: Interactive graphing and cross-filtering. Dash apps are made interactive through Dash Callbacks. A content delivery network is a highly distributed server platform optimized for delivering content, including web applications and streaming media content.
Where is the fairy in skyblock
Try our free checklist maker tool, or discover and use our free checklist templates, published by thousands of A free checklist maker to organize your mind. Create recurring team processes.
Nov 03, 2019 · Popular labels from issues and pull requests on open source GitHub repositories — Pulled from https://libraries.io — labels.md
Basically, I have a checklist, and each value of the checklist represents a study. I have a 3-d graph generated, and it by default includes all the studies found in my database (derived from excel) dv.As it turns out, values is a method of collections(.abc).MutableMapping, so if you don’t provide a value for it, it keeps the original; but then since it matches an attribute name we try to serialize the method into the layout and it fails.
Github rc_esc library zip
Plotly is a Python library which is used to design graphs, especially interactive graphs. It can plot various graphs and charts like histogram, barplot, boxplot, spreadplot and many more.
Just came to Dash forum for the same reason. In my case, I’m using a dcc.Interval component. My guess is that each time a callback, having the dcc.components as Input, is fired my layout is set back to initial state, even if it automatically reach a preventUpdate… here is a reproductible exemple:
Dash的图形组件使用plotly.js对图形进行渲染,Plotly.js与Dash配合默契,它使用声明式编程模式,开源且速度快,还支持科技计算、金融、商务类的各种视图。
Seagate backup plus desktop drive 5tb
Nordictrack x22i incline calibration
Symantec endpoint protection password reset
86 china manufacturers and suppliers of medical tools mail yahoo com hotmail com
Minecraft bomb mod 1.12 2
How to install headshot plugin
Dachshund puppies for sale near memphis tn
Harris funeral home petersburg in
Is pentanol polar
Pfsense vlan on lan interface
Generalized bedrock geology of new york state worksheet
Teradata export to csv
Dell latitude power rail failure
Praying an hour a day
Bootleg sonic games online
Sodastream bottle stuck in machine
Foam hand soap dispenser bottle
Blog cewe pakai leging memek tembem
Song lyrics i need you lynyrd skynyrd
C3 corvette transmission pan torque specs
Начало работы с Plotly | Python
См. Отображение фигур в Python для получения дополнительной информации о среде визуализации и см. Plotly FigureWidget Overview для получения дополнительной информации об использовании FigureWidget
.
Экспорт статических изображений¶
plotly.py поддерживает экспорт статических изображений,
используя либо kaleido
пакет (рекомендуется, поддерживается с plotly
версии 4.9) или orca
Утилита командной строки (унаследованная от plotly
версии 4.9).
Kaleido¶
Пакет kaleido
не имеет зависимостей и может быть установлен
используя pip …
$ установка пункта -U kaleido
или conda.
$ conda install -c plotly python-kaleido
Orca¶
В то время как Kaleido теперь является рекомендуемым методом экспорта изображений, потому что его проще установить
и более широко совместимый экспорт статических изображений
также может поддерживаться
с помощью устаревшей утилиты командной строки orca и
psutil
Пакет Python.
Эти зависимости могут быть установлены с помощью conda:
conda install -c plotly plotly-orca == 1.3.1 psutil
Или psutil
можно установить с помощью pip …
pip install psutil
и orca можно установить согласно инструкциям в README orca.
Extended Geo Support¶
Некоторые функции plotly.py полагаются на довольно большие географические файлы форм. Страна
Фабрика хороплетных фигур — один из таких примеров.Эти шейп-файлы распространяются как
отдельный пакет plotly-geo
. Этот пакет можно установить с помощью pip …
$ pip install plotly-geo == 1.0.0
или conda.
$ conda install -c plotly plotly-geo = 1.0.0
См. Карты хороплетов графства США в Python для получения дополнительной информации о фабрике хороплетных фигур графств.
Chart Studio Support¶
Пакет chart-studio
может использоваться для загрузки графических изображений в Plotly’s Chart
Studio Cloud или локальные сервисы.Этот пакет можно установить с помощью pip …
$ pip install chart-studio == 1.1.0
или conda.
$ conda install -c plotly chart-studio = 1.1.0
Примечание: Этот пакет является необязательным, и, если он не установлен, невозможно загрузить цифры в облачную службу Chart Studio.
Куда дальше? ¶
После установки вы можете использовать нашу документацию тремя основными способами:
- Вы сразу переходите к примерам создания базовых диаграмм, статистических диаграмм, научных диаграмм, финансовых диаграмм, карт и трехмерных диаграмм.
- Если вы предпочитаете сначала изучить основы библиотеки, вы можете прочитать о структуре фигур, о том, как создавать и обновлять фигуры, как отображать фигуры, как тематизировать фигуры с помощью шаблонов, как экспортировать фигуры в различные форматы и о Plotly Express, высокоуровневом API для выполнения всего вышеперечисленного.
- Вы можете ознакомиться с нашими исчерпывающими справочными руководствами по : справочник по Python API или справочник по рисунку
Для получения информации об использовании Python для создания веб-приложений, содержащих графические фигуры, см. Руководство пользователя Dash .
Мы также рекомендуем вам присоединиться к форуму сообщества Plotly, если вам нужна помощь в чем-либо, связанном с plotly
.
plotly / plotly.py: интерактивная библиотека для построения графиков для Python (включая Plotly Express)
Последняя версия | |
Форум пользователей | |
Загрузки PyPI | |
Лицензия |
Рабочие области Data Science
Мы рекомендуем IDE для графической библиотеки Python Plotly — Dash Enterprise’s Data Science Workspaces, в которой есть как записная книжка Jupyter, так и поддержка файлов кода Python.
Краткое руководство
pip install plotly == 4.14.3
Внутри Jupyter (устанавливается с помощью pip install "jupyterlab> = 3" "ipywidgets> = 7.6"
):
импортировать plotly.graph_objects на ходу fig = go.Figure () fig.add_trace (go.Scatter (y = [2, 1, 4, 3])) fig.add_trace (go.Bar (y = [1, 4, 3, 2])) fig.update_layout (title = 'Привет, рисунок') fig.show ()
Дополнительные примеры см. В документации Python.
Читайте о новинках в plotly.py v4
Обзор
plotly.py — это интерактивная библиотека для построения графиков с открытым исходным кодом и браузером для Python ✨
Построенный на основе plotly.js, plotly.py
— это декларативная библиотека диаграмм высокого уровня. plotly.js поставляется с более чем 30 типами диаграмм, включая научные диаграммы, 3D-графики, статистические диаграммы, карты SVG, финансовые диаграммы и многое другое.
plotly.py
имеет лицензию MIT. Графики можно просматривать в записных книжках Jupyter, автономных файлах HTML или размещать в Интернете с помощью Chart Studio Cloud.
Свяжитесь с нами для консультации, разработки информационных панелей, интеграции приложений и добавления функций.
Установка
plotly.py можно установить с помощью pip …
pip install plotly == 4.14.3
или conda.
conda install -c plotly plotly = 4.14.3
Поддержка JupyterLab
Для использования в JupyterLab установите jupyterlab
и ipywidgets
пакеты с использованием пункта
:
pip install jupyterlab> = 3 "ipywidgets> = 7.6 дюймов
или конда
:
conda установить jupyterlab> = 3 "ipywidgets> = 7.6"
Для JupyterLab 2 или более ранней версии выполните следующие команды, чтобы установить необходимые расширения JupyterLab (обратите внимание, что для этого потребуется установка узла
):
# Базовая поддержка модуля рендеринга JupyterLab
jupyter labextension установить [email protected]
# ДОПОЛНИТЕЛЬНО: расширение виджетов Jupyter для поддержки FigureWidget
jupyter labextension install @ jupyter-widgets / jupyterlab-manager plotlywidget @ 4.14,3
Пожалуйста, ознакомьтесь с нашим руководством по устранению неполадок, если у вас возникнут проблемы с JupyterLab.
Поддержка ноутбуков Jupyter
Для использования в Jupyter Notebook установите ноутбук
и ipywidgets
пакеты с использованием пункта
:
pip install "notebook> = 5.3" "ipywidgets> = 7.5"
или конда
:
conda install "notebook> = 5.3" "ipywidgets> = 7.5"
Экспорт статического изображения
сюжетно.py поддерживает экспорт статических изображений,
используя либо kaleido
пакет (рекомендуется, поддерживается с plotly
версии 4.9) или orca
Утилита командной строки (унаследованная от plotly
версии 4.9).
Калейдо
Пакет kaleido
не имеет зависимостей и может быть установлен
используя pip …
или conda.
$ conda install -c conda-forge python-kaleido
Орка
В то время как Kaleido теперь является рекомендуемым подходом к экспорту изображений, потому что его проще установить
и более широко совместимый экспорт статических изображений
также может поддерживаться
с помощью устаревшей утилиты командной строки orca и
psutil
Пакет Python.
Эти зависимости могут быть установлены с помощью conda:
conda install -c plotly plotly-orca == 1.3.1 psutil
Или psutil
можно установить с помощью pip …
и orca можно установить согласно инструкциям в README orca.
Расширенная поддержка гео
Некоторые функции plotly.py полагаются на довольно большие географические шейп-файлы. Страна
Фабрика хороплетных фигур — один из таких примеров. Эти шейп-файлы распространяются как
отдельный пакет plotly-geo
.Этот пакет можно установить с помощью pip …
pip install plotly-geo == 1.0.0
или conda
conda install -c plotly plotly-geo = 1.0.0
Поддержка Chart Studio
Пакет chart-studio
можно использовать для загрузки графических фигур в Plotly’s Chart.
Studio Cloud или локальный сервис. Этот пакет можно установить с помощью pip …
pip install chart-studio == 1.1.0
или conda
conda install -c plotly chart-studio = 1.1.0
Миграция
Если вы переходите с plotly.py v3 на v4, ознакомьтесь с руководством по миграции версии 4
Если вы переходите с plotly.py v2 на v3, ознакомьтесь с руководством по миграции версии 3
Авторские права и лицензии
Авторские права на код и документацию 2019 Plotly, Inc.
Код
выпущен под лицензией MIT.
Документов выпущено по лицензии Creative Commons.
Python Plotly Tutorial — JournalDev
Plotly (Plot.ly, как указано в его URL-адресе), является технологической компьютерной компанией, базирующейся в Монреале. Он известен разработкой и предоставлением инструментов онлайн-аналитики, статистики и построения графиков для частных лиц или компаний. Он также разрабатывает / предоставляет библиотеки научного построения графиков для Arduino, Julia, MATLAB, Perl, Python, R и REST.
Python Plotly Library
Графическая библиотека Python Plotly создает интерактивные графики онлайн и позволяет нам сохранять их в автономном режиме, если это необходимо.
Почему Plotly
Plotly обладает некоторыми удивительными функциями, которые делают его лучше, чем другие графические библиотеки:
- По умолчанию он интерактивен
- Диаграммы не сохраняются как изображения, а сериализуются как JSON, что делает их открытыми для чтения с помощью R , MATLAB, Julia и другие легко
- Экспортирует вектор для печати / публикации
- Легко манипулировать / встраивать в Интернет
Начало работы
Нам нужен PIP (установщик пакетов python), чтобы начать работать с графикой, нам также понадобится создать учетную запись с plotly на случай, если мы захотим использовать онлайн-возможности.В этом уроке мы будем использовать только офлайн.
Установка
Для прямой установки откройте окно терминала и выполните следующую команду:
sudo pip install plotly
Для сбора зависимостей и их загрузки может потребоваться несколько минут:
Использование Plotly
Чтобы использовать plotly в любом из скриптов Python, нам нужно будет импортировать plotly как:
Импортировать сюжетно
Еще несколько шагов, и вы готовы к использованию.Для использования в сети вам необходимо настроить учетные данные. Это можно сделать как:
plotly.tools.set_credentials_file (username = 'YourUsernameHere', api_key = 'YourAPIkeyHere')
Для автономного использования нам нужно вызвать plot, как показано ниже, для автономного использования:
plotly.offline.plot ()
Тестовая установка
Прежде чем мы начнем использовать plotly, давайте протестируем его установку с помощью простого скрипта:
Импортировать сюжетно
печать (плотно.__версия__)
Давайте посмотрим на результат этой программы:
Как и ожидалось, это возвращает последнюю версию plotly.
Создание простого графика
Давайте начнем с простой программы «Hello, World» с примером фрагмента кода:
Импортировать сюжетно
из plotly.graph_objs импортировать Scatter, Layout
plotly.offline.plot ({
"данные": [Scatter (x = [1, 2, 3, 4], y = [4, 3, 2, 1])],
"layout": макет (title = "hello world")
})
Давайте посмотрим на результат этой программы:
Как ясно видно, этот график сохраняется как файл HTML в том же каталоге, что и сценарий.
Базовые диаграммы
Чтобы начать визуализацию данных, мы начнем с базовых диаграмм с использованием Plotly, а затем перейдем к более сложным примерам, которые показывают построение графиков с привязкой ко времени.
Точечная диаграмма
Мы создадим базовую диаграмму на основе некоторых случайных данных с помощью numpy. Если numpy не установлен на вашем компьютере, установите его с помощью этой команды:
pip install numpy
Вот пример программы для отображения диаграммы рассеяния:
Импортировать сюжетно
импортировать сюжетно.graph_objs как идут
# Создание случайных данных с помощью numpy
импортировать numpy как np
N = 1000
random_x = np.random.randn (N)
random_y = np.random.randn (N)
# Создать след
trace = go.Scatter (
x = random_x,
y = random_y,
mode = 'маркеры'
)
data = [трассировка]
# Постройте и вставьте в блокнот ipython!
plotly.offline.plot (данные, имя файла = 'основной-разброс')
Давайте посмотрим на результат этой программы:
В этом сценарии мы также предоставили имя для файла HTML.
Линейный график и точечный график
Мы можем создать несколько более сложных / информативных графиков, таких как линейно-точечный график, аналогичным образом, как указано выше:
Импортировать сюжетно
импортировать сюжетно.graph_objs как идут
# Создание случайных данных с помощью numpy
импортировать numpy как np
N = 100
random_x = np.linspace (0, 1, N)
random_y0 = np.random.randn (N) +5
random_y1 = np.random.randn (N)
random_y2 = np.random.randn (N) -5
# Создать следы
trace0 = go.Scatter (
x = random_x,
y = random_y0,
mode = 'маркеры',
name = 'маркеры'
)
trace1 = go.Scatter (
x = random_x,
y = random_y1,
mode = 'линии + маркеры',
name = 'линии + маркеры'
)
trace2 = go.Scatter (
x = random_x,
y = random_y2,
mode = 'линии',
имя = 'линии'
)
data = [trace0, trace1, trace2]
сюжетно.offline.plot (данные, имя файла = 'режим разброса')
Давайте посмотрим на результат этой программы:
Это не то. Этот график намного информативнее, чем кажется сейчас. Наведите указатель мыши на любую точку на графике, и вы увидите дополнительную информацию об этой точке:
Коробчатые диаграммы
Коробчатые диаграммы довольно информативны и полезны, особенно когда вам нужно показать слишком много данных из очень небольшого количества данных. Давайте попробуем создать один:
случайный импорт
Импортировать сюжетно
из импорта numpy *
N = 30.# Количество ящиков
# генерируем массив цветов радуги, исправляя насыщенность и яркость HSL-представления цвета
# и обходят оттенок.
c = ['hsl (' + str (h) + ', 50%' + ', 50%)' для h в linspace (0, 360, N)]
# Каждый блок представлен dict, который содержит данные, тип,
# и цвет.
# Используйте составление списка для описания N блоков, каждое из которых имеет свой цвет и
# с разными случайно сгенерированными данными:
data = [{
'y': 3,5 * sin (pi * i / N) + i / N + (1,5 + 0,5 * cos (pi * i / N)) * случайный.ранд (10),
'тип': 'коробка',
'маркер': {'цвет': c [i]}
} для i в диапазоне (int (N))]
# форматируем макет
layout = {'xaxis': {'showgrid': False, 'zeroline': False, 'tickangle': 60, 'showticklabels': False},
'yaxis': {'zeroline': ложь, 'gridcolor': 'white'},
'paper_bgcolor': 'rgb (233 233 233)',
'plot_bgcolor': 'rgb (233 233 233)',
}
plotly.offline.plot (данные)
Давайте посмотрим на результат этой программы:
Мы снова переместили указатель мыши на одну из точек, чтобы получить дополнительную информацию об этой точке.
Контурные графики
Контурные графики являются одними из наиболее часто используемых научных графиков:
из инструментов plotly import
Импортировать сюжетно
импортировать plotly.graph_objs на ходу
trace0 = go.Contour (
z = [[2, 4, 7, 12, 13, 14, 15, 16],
[3, 1, 6, 11, 12, 13, 16, 17],
[4, 2, 7, 7, 11, 14, 17, 18],
[5, 3, 8, 8, 13, 15, 18, 19],
[7, 4, 10, 9, 16, 18, 20, 19],
[9, 10, 5, 27, 23, 21, 21, 21],
[11, 14, 17, 26, 25, 24, 23, 22]],
line = dict (сглаживание = 0),
)
trace1 = идти.Контур (
z = [[2, 4, 7, 12, 13, 14, 15, 16],
[3, 1, 6, 11, 12, 13, 16, 17],
[4, 2, 7, 7, 11, 14, 17, 18],
[5, 3, 8, 8, 13, 15, 18, 19],
[7, 4, 10, 9, 16, 18, 20, 19],
[9, 10, 5, 27, 23, 21, 21, 21],
[11, 14, 17, 26, 25, 24, 23, 22]],
line = dict (сглаживание = 0,85),
)
data = tools.make_subplots (rows = 1, cols = 2,
subplot_titles = ('Без сглаживания', 'Со сглаживанием'))
data.append_trace (трассировка0, 1, 1)
data.append_trace (трассировка1, 1, 2)
сюжетно.offline.plot (данные)
Давайте посмотрим на результат этой программы:
Такие графики часто используются при отображении данных тепловой карты.
Финансовые диаграммы
Финансовые диаграммы намного сложнее для чтения, но их легко создать с помощью Plotly. Давайте посмотрим, какие типы диаграмм можно создать с помощью Plotly.
График временных рядов
Начнем с графика временных рядов. Мы будем использовать образцы данных самого Plotly, которые обслуживаются репозиторием Github.Вот пример программы:
Импортировать сюжетно
импортировать plotly.graph_objs на ходу
импортировать панд как pd
df = pd.read_csv ("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv")
data = [go.Scatter (
x = df.Date,
y = df ['AAPL.Close'])]
plotly.offline.plot (данные)
Давайте посмотрим на результат этой программы:
Если pandas
не установлено на вашем компьютере, установите его с помощью этой команды:
pip install pandas
OHLC Chart
OHLC Chart — также отличный способ объяснить данные, относящиеся к временным рядам, для неравномерного распределения.Давайте посмотрим на фрагмент кода:
Импортировать сюжетно
импортировать plotly.graph_objs на ходу
from datetime import datetime
open_data = [33.0, 33.3, 33.5, 33.0, 34.1]
high_data = [33.1, 33.3, 33.6, 33.2, 34.8]
low_data = [32,7, 32,7, 32,8, 32,6, 32,8]
close_data = [33.0, 32.9, 33.3, 33.1, 33.1]
даты = [datetime (год = 2013, месяц = 10, день = 10),
datetime (год = 2013, месяц = 11, день = 10),
datetime (год = 2013, месяц = 12, день = 10),
datetime (год = 2014, месяц = 1, день = 10),
datetime (год = 2014, месяц = 2, день = 10)]
след = идти.Ohlc (x = даты,
open = open_data,
high = high_data,
low = low_data,
close = close_data)
data = [трассировка]
plotly.offline.plot (данные, имя файла = 'ohlc_datetime')
Давайте посмотрим на результат этой программы:
Заключение
В этом уроке мы изучили еще одну отличную библиотеку Python, которая используется для визуализации и автономного использования.
Подробнее о машинном обучении читайте здесь.
Начало работы с Plotly-Python — GeeksforGeeks
Начало работы с Plotly-Python
Библиотека Plotly Python — это интерактивная библиотека с открытым исходным кодом.Это может быть очень полезным инструментом для визуализации данных и простого и легкого понимания данных. Графические объекты plotly представляют собой высокоуровневый интерфейс для построения графиков, которые просты в использовании. Он может строить различные типы графиков и диаграмм, такие как точечные диаграммы, линейные диаграммы, гистограммы, прямоугольные диаграммы, гистограммы, круговые диаграммы и т. Д.
Итак, вам всем должно быть интересно, почему построение графика лучше других инструментов или библиотек визуализации? Вот ответ —
- Plotly имеет функции наведения, которые позволяют нам обнаруживать любые выбросы или аномалии в большом количестве точек данных.
- Это визуально привлекательно, что может быть принято широкой аудиторией.
- Это позволяет нам бесконечно настраивать наши графики, что делает наш график более значимым и понятным для других.
Хорошо, хватит теории, давайте начнем.
Установка:
Чтобы установить этот модуль, введите следующую команду в терминале.
pip install plotly
Начало работы
Давайте создадим различные графики с помощью этого модуля
- Точечная диаграмма: Точечная диаграмма представляет значения для двух различных числовых переменных.В основном они используются для представления взаимосвязи между двумя переменными.
Python3
.show () |
Вывод:
- Гистограммы: Гистограммы используются, когда мы хотим сравнить различные группы данных и сделать вывод, какие группы являются наивысшими, а какие - comon и сравните, как работает одна группа по сравнению с другими.
Python3
000 000 000 000 000 |
Вывод:
- Круговая диаграмма: Круговая диаграмма представляет распределение различных переменных в общем. На круговой диаграмме каждый сегмент показывает свой вклад в общую сумму.
Python3
fig
|
Вывод:
- Гистограмма: Гистограмма отображает непрерывное распределение переменной в виде серии столбцов, и каждая полоса указывает частоту появления значения в переменной.Чтобы использовать гистограмму, нам просто нужна переменная, которая принимает непрерывные числовые значения
Python3
.graph_objects as go 0009 |
0 Выход
- Коробчатая диаграмма: Коробчатая диаграмма представляет собой статистическую сводку.Минимум, первый квартиль, медиана, третий квартиль, максимум.
Python3
np.random.randn ( |
Вывод:
! Укрепите свои основы с помощью курса Python Programming Foundation и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS . И чтобы начать свое путешествие по машинному обучению, присоединитесь к Машинное обучение - курс базового уровня
Python Plotly tutorial - GeeksforGeeks
Python Plotly Library - это библиотека с открытым исходным кодом, которую можно использовать для визуализации данных и понимания данных просто и легко.Plotly поддерживает различные типы графиков, такие как линейные диаграммы, графики рассеяния, гистограммы, графики Кокса и т. Д. Итак, вам всем должно быть интересно, почему Plotly превосходит другие инструменты или библиотеки визуализации? Вот ответ -
- Plotly имеет возможности инструмента наведения, которые позволяют нам обнаруживать любые выбросы или аномалии в большом количестве точек данных.
- Визуально привлекательный, может быть принят широкой аудиторией.
- Это позволяет нам бесконечно настраивать наши графики, что делает наш график более значимым и понятным для других.
Цель этого руководства - дать вам представление о Plotly с помощью огромного набора данных, объясняющих Plotly от основ до продвижения и охватывающих все широко используемые диаграммы.
Содержание
Последние статьи на Plotly !!!
Установка
Plotly не встроен в Python. Чтобы установить его, введите в терминале следующую команду.
pip install plotly
Это может занять некоторое время, так как также будут установлены зависимости.
Структура пакета Plotly
В Plotly есть три основных модуля. Это:
- plotly.plotly
- plotly.graph.objects
- plotly.tools
plotly.plotly действует как интерфейс между локальной машиной и Plotly. Он содержит функции, требующие ответа от сервера Plotly.
plotly.graph_objects модуль содержит объекты (рисунок, макет, данные и определение графиков, такие как точечная диаграмма, линейная диаграмма), которые отвечают за создание графиков.Рисунок может быть представлен либо как dict, либо как экземпляры plotly.graph_objects.Figure , и они сериализуются как JSON перед передачей в plotly.js. Для лучшего понимания рассмотрим приведенный ниже пример.
Примечание: модуль plotly.express может создать рисунок целиком. Он внутренне использует graph_objects и возвращает экземпляр graph_objects.Figure.
Пример:
Python3
Рисунки представлены в виде деревьев, где корневой узел имеет три атрибута верхнего уровня - данные , макет и кадры , а также именованные узлы, называемые «атрибутами».Рассмотрим приведенный выше пример, layout.legend - это вложенный словарь, где легенда - это ключ внутри словаря, значение которого также является словарем. plotly.tools модуль содержит различные инструменты в виде функций, которые могут улучшить работу с Plotly. Начало работыИзучив установку и базовую структуру Plotly, давайте создадим простой график, используя предварительно определенные наборы данных, определенные в plotly. Пример: Python3
|