Точечная диаграмма, диаграмма рассеяния и пузырьковые диаграммы
В этой главе особое внимание уделяется деталям точечной диаграммы, диаграммы рассеяния и пузырьковых диаграмм. Во-первых, давайте изучим диаграмму рассеяния.
Точечная диаграмма
Диаграммы разброса используются для plot dataточки на горизонтальной и вертикальной оси, чтобы показать, как одна переменная влияет на другую. Каждая строка в таблице данных представлена маркером, положение которого зависит от его значений в столбцах, установленных наX и Y топоры.
В scatter() метод модуля graph_objs (go.Scatter)формирует след рассеяния. ЗдесьmodeСвойство определяет внешний вид точек данных. Значение режима по умолчанию - это линии, на которых отображается непрерывная линия, соединяющая точки данных. Если установлено наmarkers, отображаются только точки данных, представленные маленькими закрашенными кружками. Когда установлен режим «линии + маркеры», отображаются как круги, так и линии.
В следующем примере графики разброса трасс трех наборов случайно сгенерированных точек в декартовой системе координат. Каждая кривая, отображаемая с различным свойством режима, объясняется ниже.
import numpy as np
N = 100
x_vals = np.linspace(0, 1, N)
y1 = np.random.randn(N) + 5
y2 = np.random.randn(N)
y3 = np.random.randn(N) - 5
trace0 = go.Scatter(
x = x_vals,
y = y1,
mode = 'markers',
name = 'markers'
)
trace1 = go.Scatter(
x = x_vals,
y = y2,
mode = 'lines+markers',
name = 'line+markers'
)
trace2 = go.Scatter(
x = x_vals,
y = y3,
mode = 'lines',
name = 'line'
)
data = [trace0, trace1, trace2]
fig = go.Figure(data = data)
iplot(fig)
Выход Jupyter notebook cell как указано ниже -
График Scattergl
WebGL (Библиотека веб-графики) - это JavaScript API для интерактивного рендеринга. 2D и 3D graphicsв любом совместимом веб-браузере без использования подключаемых модулей. WebGL полностью интегрирован с другими веб-стандартами, что позволяет графическому процессору (GPU) ускорять обработку изображений.
Вы можете реализовать WebGL с помощью Scattergl()вместо Scatter () для увеличения скорости, улучшения интерактивности и возможности отображать еще больше данных. Вgo.scattergl() функция, которая обеспечивает лучшую производительность, когда задействовано большое количество точек данных.
import numpy as np
N = 100000
x = np.random.randn(N)
y = np.random.randn(N)
trace0 = go.Scattergl(
x = x, y = y, mode = 'markers'
)
data = [trace0]
layout = go.Layout(title = "scattergl plot ")
fig = go.Figure(data = data, layout = layout)
iplot(fig)
Вывод упомянут ниже -
Пузырьковые диаграммы
На пузырьковой диаграмме отображаются данные в трех измерениях. Каждый объект с его тремя измерениями связанных данных отображается какdisk (пузырь), который выражает два измерения через диск xy locationа третий - по размеру. Размеры пузырьков определяются значениями в третьей серии данных.
Bubble chartпредставляет собой вариант диаграммы рассеяния, на которой точки данных заменены пузырьками. Если ваши данные имеют три измерения, как показано ниже, создание пузырьковой диаграммы будет хорошим выбором.
| Компания | Продукты | распродажа | Поделиться |
|---|---|---|---|
| А | 13 | 2354 | 23 |
| B | 6 | 5423 | 47 |
| C | 23 | 2451 | 30 |
Пузырьковая диаграмма создается с go.Scatter()след. Два из вышеуказанных рядов данных заданы как свойства x и y. Третье измерение показано маркером, размер которого соответствует третьему ряду данных. В вышеупомянутом случае мы используемproducts и sale в виде x и y свойства и market share в виде marker size.
Введите следующий код в записную книжку Jupyter.
company = ['A','B','C']
products = [13,6,23]
sale = [2354,5423,4251]
share = [23,47,30]
fig = go.Figure(data = [go.Scatter(
x = products, y = sale,
text = [
'company:'+c+' share:'+str(s)+'%'
for c in company for s in share if company.index(c)==share.index(s)
],
mode = 'markers',
marker_size = share, marker_color = ['blue','red','yellow'])
])
iplot(fig)
Результат будет таким, как показано ниже -