Plotly - Distplots Density Plot e Error Bar Plot

Neste capítulo, vamos entender sobre distplots, plotagem de densidade e plotagem de barra de erro em detalhes. Vamos começar aprendendo sobre distplots.

Distplots

A fábrica de figuras distplot exibe uma combinação de representações estatísticas de dados numéricos, como histograma, estimativa de densidade de kernel ou curva normal e gráfico de tapete.

O distplot pode ser composto por todos ou qualquer combinação dos seguintes 3 componentes -

  • histogram
  • curva: (a) estimativa da densidade do kernel ou (b) curva normal, e
  • trama de tapete

o figure_factory módulo tem create_distplot() função que precisa de um parâmetro obrigatório chamado hist_data.

O código a seguir cria um distplot básico que consiste em um histograma, um gráfico kde e um gráfico de tapete.

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

A saída do código mencionado acima é a seguinte -

Gráfico de densidade

Um gráfico de densidade é uma versão contínua e suavizada de um histograma estimado a partir dos dados. A forma mais comum de estimativa é conhecida comokernel density estimation (KDE). Neste método, uma curva contínua (o kernel) é desenhada em cada ponto de dados individual e todas essas curvas são então adicionadas para fazer uma única estimativa de densidade suave.

o create_2d_density() função no módulo plotly.figure_factory._2d_density retorna um objeto de figura para um gráfico de densidade 2D.

O código a seguir é usado para produzir o gráfico de densidade 2D sobre os dados do histograma.

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)

Abaixo mencionado é a saída do código fornecido acima.

Gráfico de barra de erro

Barras de erro são representações gráficas do erro ou incerteza nos dados e ajudam na interpretação correta. Para fins científicos, o relato de erros é crucial para a compreensão dos dados fornecidos.

As barras de erro são úteis para solucionadores de problemas porque as barras de erro mostram a confiança ou precisão em um conjunto de medidas ou valores calculados.

Principalmente as barras de erro representam o intervalo e o desvio padrão de um conjunto de dados. Eles podem ajudar a visualizar como os dados estão espalhados em torno do valor médio. Barras de erro podem ser geradas em uma variedade de gráficos, como gráfico de barra, gráfico de linha, gráfico de dispersão etc.

o go.Scatter() função tem error_x e error_y propriedades que controlam como as barras de erro são geradas.

  • visible (boolean) - Determina se este conjunto de barras de erro é ou não visível.

A propriedade do tipo tem valores possíveis "percent"|"constant"|"sqrt"|"data”. Ele define a regra usada para gerar as barras de erro. Se for "porcentagem", os comprimentos das barras correspondem a uma porcentagem dos dados subjacentes. Defina esta porcentagem em `valor`. Se "sqrt", os comprimentos das barras correspondem ao quadrado dos dados subjacentes. Se "dados", os comprimentos das barras são definidos com o conjunto de dados `matriz`.

  • symmetricpropriedade pode ser verdadeira ou falsa. Conseqüentemente, as barras de erro terão o mesmo comprimento em ambas as direções ou não (superior / inferior para barras verticais, esquerda / direita para barras horizontais.

  • array- define os dados correspondentes ao comprimento de cada barra de erro. Os valores são plotados em relação aos dados subjacentes.

  • arrayminus - Define os dados correspondentes ao comprimento de cada barra de erro na direção inferior (esquerda) para barras verticais (horizontais). Os valores são plotados em relação aos dados subjacentes.

O código a seguir exibe barras de erro simétricas em um gráfico de dispersão -

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)

A seguir, está a saída do código indicado acima.

O gráfico de erro assimétrico é renderizado pelo seguinte script -

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)

O resultado do mesmo é o fornecido abaixo -