Plotly - 3D точечный график и график поверхности

В этой главе будет представлена ​​информация о трехмерном (3D) графике рассеяния и трехмерном графике поверхности и о том, как их создать с помощью Plotly.

Точечная диаграмма 3D

Трехмерный (3D) график рассеяния похож на график рассеяния, но с тремя переменными: x, y, and z or f(x, y)настоящие числа. График можно представить в виде точек в трехмерной декартовой системе координат. Обычно он рисуется на двухмерной странице или экране с использованием методов перспективы (изометрической или перспективной), так что кажется, что одно из измерений выходит за пределы страницы.

Трехмерные точечные диаграммы используются для построения точек данных по трем осям в попытке показать взаимосвязь между тремя переменными. Каждая строка в таблице данных представлена ​​маркером, положение которого зависит от его значений в столбцах, установленных наX, Y, and Z axes.

Четвертая переменная может быть установлена ​​для соответствия color или же size из markers, таким образом, добавляя еще одно измерение к сюжету. Связь между разными переменными называетсяcorrelation.

А Scatter3D trace- объект графика, возвращаемый функцией go.Scatter3D (). Обязательными аргументами этой функции являются x,y and z каждый из них list or array object.

Например -

import plotly.graph_objs as go
import numpy as np
z = np.linspace(0, 10, 50)
x = np.cos(z)
y = np.sin(z)
trace = go.Scatter3d(
   x = x, y = y, z = z,mode = 'markers', marker = dict(
      size = 12,
      color = z, # set color to an array/list of desired values
      colorscale = 'Viridis'
      )
   )
layout = go.Layout(title = '3D Scatter plot')
fig = go.Figure(data = [trace], layout = layout)
iplot(fig)

Вывод кода приведен ниже -

3D-график поверхности

Графики поверхности - это диаграммы трехмерных данных. На графике поверхности каждая точка определяется тремя точками:latitude, longitude, и altitude(X, Y и Z). Вместо того, чтобы отображать отдельные точки данных, графики поверхности показывают функциональную взаимосвязь между назначеннымиdependent variable (Y), и две независимые переменные (X и Z). Этот сюжет является сопутствующим сюжетом контурного сюжета.

Вот сценарий Python для визуализации простого поверхностного графика, где y array транспонируется от x, а z вычисляется как cos (x2 + y2)

import numpy as np
x = np.outer(np.linspace(-2, 2, 30), np.ones(30))
y = x.copy().T # transpose
z = np.cos(x ** 2 + y ** 2)
trace = go.Surface(x = x, y = y, z =z )
data = [trace]
layout = go.Layout(title = '3D Surface plot')
fig = go.Figure(data = data)
iplot(fig)

Ниже приведен вывод кода, который объяснен выше -