Точечная диаграмма, диаграмма рассеяния и пузырьковые диаграммы
В этой главе особое внимание уделяется деталям точечной диаграммы, диаграммы рассеяния и пузырьковых диаграмм. Во-первых, давайте изучим диаграмму рассеяния.
Точечная диаграмма
Диаграммы разброса используются для 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)
Результат будет таким, как показано ниже -