Tentando fazer um gráfico multi-coluna

0

Eu estou tentando fazer um gráfico de colunas onde o eixo y é o tamanho médio do grão, o eixo x é a distância ao longo do transecto e cada série é um valor de data e / ou número (não importa realmente ).

Aqui está uma imagem dos meus dados e aqui está no formato CSV:

Date,,Grain Size (mm),Distance along Transact
8/7/2013,2,0.7912,9
4/5/2014,3,0.513,9
6/5/2015,4,0.4644,9
6/26/2013,1,1.0852,12
6/5/2015,4,1.8515,12
8/7/2013,2,1.812,15
4/5/2014,3,6.371,15
6/5/2015,4,1.602,15
6/26/2013,1,1.0251,17
6/5/2015,4,5.6884,17
6/26/2013,1,0.4166,25
6/5/2015,4,24.8669,25
6/26/2013,1,0.5223,32.5
6/5/2015,4,37.387,32.5
6/26/2013,1,0.5159,39.5
6/5/2015,4,0.6727,39.5

Eu tenho tentado alguns métodos diferentes no Excel 2010, mas não consigo descobrir. Minha esperança é que, digamos que no primeiro local, 9, haverá três colunas e, em seguida, às 12 haverá duas colunas. Se for importante, digamos que a distância total seja 50. O resultado desses dados deve ter 7 conjuntos de colunas ao longo do eixo transecto / x.

Eu tentei fazer isso usando python, mas meu conhecimento de codificação está próximo de zero. Aqui está o meu código até agora:

import numpy as np
import matplotlib.pyplot as plt
grainsize = [0.7912, 0.513, 0.4644, 1.0852, 1.8515, 1.812, 6.371, 1.602, 1.0251, 5.6884, 0.4166, 24.8669, 0.5223, 37.387, 0.5159, 0.6727]
series = [2, 3, 4, 1, 4, 2, 3, 4, 1, 4, 1, 4, 1, 4, 1, 4]
distance = [9, 9, 9, 12, 12, 15, 15, 15, 17, 17, 25, 25, 32.5, 32.5, 39.5, 39.5]

Se alguém souber de um código para usar, será muito útil. Uma recomendação de como fazer isso no Excel também seria incrível.

Espero que isso faça sentido. Qualquer ajuda seria muito apreciada!

    
por user5818107 20.01.2016 / 22:37

3 respostas

0

Aqui está uma ideia: crie uma nova tabela que tabule os dados de forma diferente e faça um gráfico disso. Não é uma solução perfeita, mas funciona e é fácil de expandir à medida que seus dados aumentam.

Primeiro, veja como fica o resultado:

Você pode ver seus dados originais nas colunas A:D . Eu realmente o modifiquei porque havia dois valores muito grandes e eles dificultaram a visualização das três colunas. Em F1:I8 é a tabela que fiz e o gráfico está no canto inferior direito. Veja como você pode repetir o processo:

  1. Descobrir quantas vezes o valor mais frequente aparece na coluna Distance along Transact (referida apenas como Distance a partir de agora). Uma maneira fácil de fazer isso é com a fórmula =COUNTIF(D:D,MODE(D:D)) .
  2. Crie tantas colunas em sua nova tabela e use apenas números como cabeçalho. (1, 2, 3, ...)
  3. Em F2 , use a fórmula: =SMALL(D:D,1) para obter o menor valor Distance .
  4. Em F3 , use a fórmula array {=SMALL(IF(D:D>F2,D:D),1)} (insira-a usando Ctrl + Shift + Enter ) e arraste a fórmula conforme necessário.
  5. Em G2 , use a fórmula array {=INDEX($C:$C,SMALL(IF($D$2:$D$17=$F2,ROW($D$2:$D$17),9E+99),G$1))} e arraste-a para baixo e para cima para preencher a tabela. Ignore os erros #REF! , pois eles não serão exibidos no gráfico.
  6. Crie um gráfico com base no intervalo da nova tabela.

A única edição que fiz para a captura de tela acima foi reduzir as lacunas entre as colunas para que você pudesse ver melhor.

A desvantagem desse método é que ele deixa espaços em branco entre os valores do eixo X se ele tiver menos que o número máximo de Grain Size pontos de dados. Se você quiser adicionar rótulos de dados, os erros aparecerão como zero, então formate os rótulos de dados com o formato personalizado #,##0;-#,##0;; para ocultar os zeros.

    
por 20.01.2016 / 23:12
1

Aqui está outra opção a considerar, usando as eficiências internas do Excel com tabelas e tabelas dinâmicas.

  1. Converta seus dados em colunas Data > Text-to-Columns
  2. Crie uma tabela do Excel a partir dos seus dados (com uma célula nos dados selecionados) Insert > Table
  3. Crie uma Tabela Dinâmica a partir da sua Tabela (com uma célula na sua Tabela selecionada) Insert > Pivot Table , com as seguintes configurações:
    • Rótulos da coluna: coluna 1
    • Rótulos de linha: Distância ao longo da transação
    • Valores: Média do tamanho do grão
  4. Crie um gráfico dinâmico na tabela dinâmica (com uma célula na tabela dinâmica selecionada) Insert > Charts > 2-D Column Chart

Agora, sem nenhuma fórmula, você tem uma série de objetos vinculados que serão atualizados com alterações entre eles (por exemplo, adicionar linhas à sua tabela de dados, filtrar seu gráfico dinâmico ou tabela dinâmica).

Para obter o máximo valor dessa solução, você pode configurar sua tabela para atualizar automaticamente a partir de diferentes fontes de dados (por exemplo, SQL Server), garantindo que suas tabelas / gráficos estejam sempre atualizados.

    
por 21.01.2016 / 14:19
0

Bem, eu não sei se um gráfico de colunas é realmente a melhor maneira de mostrar o tamanho do grão em relação à posição, eu tentaria um gráfico de dispersão.

Primeiro, criei uma tabela dinâmica para organizar os dados em um layout melhor, com datas na área de colunas, distância na área de linhas e tamanho médio de granularidade como os valores. Isso está em E1: I9 na captura de tela.

Você não pode criar um gráfico de dispersão como um gráfico dinâmico. Você pode criar uma se adicionar a série de dados por série, longa história, mas copiei a tabela dinâmica e colei como valores em outro intervalo (E12: I19 na captura de tela) e verifiquei a célula superior esquerda ( E12) estava em branco.

Em seguida, fiz meu gráfico de dispersão e, na caixa de diálogo Selecionar dados, cliquei em células ocultas e vazias e selecionei a opção para desenhar uma linha conectando pontos em ambos os lados de uma célula ausente.

Algo parece engraçado nas medições mais recentes!

    
por 30.01.2016 / 16:03