Plotly - график распределения плотности и гистограмма ошибок

В этой главе мы подробно разберемся с графиками распределения, графиком плотности и графиком погрешностей. Давайте начнем с изучения distplots.

Графики

Фабрика фигур distplot отображает комбинацию статистических представлений числовых данных, таких как гистограмма, оценка плотности ядра или нормальная кривая и график коврика.

Диаграмма распределения может состоять из всех или любой комбинации следующих 3 компонентов:

  • histogram
  • кривая: (а) оценка плотности ядра или (б) нормальная кривая, и
  • коврик сюжет

В figure_factory модуль имеет create_distplot() функция, которой требуется обязательный параметр hist_data.

Следующий код создает базовый график распределения, состоящий из гистограммы, графика kde и графика коврика.

x = np.random.randn(1000)
hist_data = [x]
group_labels = ['distplot']
fig = ff.create_distplot(hist_data, group_labels)
iplot(fig)

Вывод кода, упомянутого выше, выглядит следующим образом:

График плотности

График плотности - это сглаженная, непрерывная версия гистограммы, рассчитанная на основе данных. Наиболее распространенная форма оценки известна какkernel density estimation (KDE). В этом методе непрерывная кривая (ядро) рисуется в каждой отдельной точке данных, и все эти кривые затем складываются вместе для получения единой гладкой оценки плотности.

В create_2d_density() функция в модуле plotly.figure_factory._2d_density возвращает объект-фигуру для 2D-графика плотности.

Следующий код используется для построения графика 2D плотности по данным гистограммы.

t = np.linspace(-1, 1.2, 2000)
x = (t**3) + (0.3 * np.random.randn(2000))
y = (t**6) + (0.3 * np.random.randn(2000))
fig = ff.create_2d_density( x, y)
iplot(fig)

Ниже приводится вывод указанного выше кода.

График полосы ошибок

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

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

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

В go.Scatter() функция имеет error_x и error_y свойства, управляющие генерацией полос погрешностей.

  • visible (boolean) - Определяет, виден ли этот набор полос погрешностей.

Свойство типа имеет возможные значения "percent"|"constant"|"sqrt"|"data». Он устанавливает правило, используемое для создания планок погрешностей. Если "процент", длина столбцов соответствует проценту базовых данных. Установите этот процент в `value`. Если "sqrt", длина полосок соответствует квадрату базовых данных. Если "данные", длины столбцов задаются набором данных "array".

  • symmetricсвойство может быть истинным или ложным. Соответственно, полосы погрешностей будут иметь одинаковую длину в обоих направлениях или нет (верх / низ для вертикальных полос, левый / правый для горизонтальных полос.

  • array- устанавливает данные, соответствующие длине каждой полосы ошибок. Значения нанесены на график относительно базовых данных.

  • arrayminus - Устанавливает данные, соответствующие длине каждой полосы ошибок в нижнем (левом) направлении для вертикальных (горизонтальных) полос. Значения отображаются относительно базовых данных.

Следующий код отображает симметричные полосы ошибок на диаграмме рассеяния.

trace = go.Scatter(
   x = [0, 1, 2], y = [6, 10, 2],
   error_y = dict(
   type = 'data', # value of error bar given in data coordinates
   array = [1, 2, 3], visible = True)
)
data = [trace]
layout = go.Layout(title = 'Symmetric Error Bar')
fig = go.Figure(data = data, layout = layout)
iplot(fig)

Ниже приведен вывод вышеуказанного кода.

График асимметричной ошибки отображается следующим сценарием -

trace = go.Scatter(
   x = [1, 2, 3, 4], 
   y =[ 2, 1, 3, 4],
   error_y = dict(
      type = 'data',
      symmetric = False,
      array = [0.1, 0.2, 0.1, 0.1], 
      arrayminus = [0.2, 0.4, 1, 0.2]
   )
)
data = [trace]
layout = go.Layout(title = 'Asymmetric Error Bar')
fig = go.Figure(data = data, layout = layout)
iplot(fig)

Результат такой же, как указано ниже -