- 03 Ago 2016 às 18:33
#13674
Olá a todos.
Quero gerar um gráfico que seja auto adaptável dependendo da quantidade de pontos a serem plotados (Amostras) e qual é o eixo de tempo correto. Explico melhor:
Minha planilha possui 2 abas, uma Chamada All_Data, e outra Chamada Graph. Em All_Data possuo 3 amostragens de 16 variáveis diferentes, sendo que a disposição é a seguinte:
Linha 1 contém o Título de cada Variável. Por Exemplo em A2 posso ter o nome "Velocidade", sendo que nas linhas abaixo de "Velocidade" tenho os valores de velocidade aquisitados para cada amostra, e em uma outra coluna o instante de amostragem.
Time [s] Velocidade [%] (...)
0,134 100,1259 7,03
0,159 100,1259 7,15
0,191 100,1259 6,86
(...) (...) (...)
Nas Colunas de A até Q eu tenho o primeiro set de 16 variáveis, onde na coluna A está o tempo de amostragem de cada amostra de cada variável. No intervalo de R até AH o segundo set e o mesmo para o intervalo de AI a AY.
Na aba Graph eu tenho uma seleção de quais valores seriam plotados (feito por uma caixa de seleção usando validação de dados que só permite selecionar uma das 48 variáveis disponíveis, nas colunas de A a H) que ao selecionar uma variável específica (Digamos Velocidade do exemplo acima) faz com que os valores da Coluna B2:BX da Aba All_Data (onde X é o número de amostras+1) sejam transferidos para a Coluna A2:AX da Aba Graph, e em A1 está o nome da Variável que entra no título Série.
Tenho um gráfico de 8 linhas que irá plotar a tendência desse valores, no caso um gráfico tipo X Y Dispersão. 4 Tendências no eixo principal e 4 no eixo secundário, para poder fazer escalas diferentes.
Para configurar o gráfico preciso definir dessa forma 8 gráficos, sempre “fixados” às colunas respectivas da aba Graph.
O problema é que cada arquivo de dados que eu tenho que plotar possui um número de amostras diferentes (que pode variar de algumas centenas a vários mais de 300000 mil amostras). Eu já até fiz uma planilha que sempre lê todas as amostras desde a segunda linha até a linha 512001, porém o tamanho do arquivo fica imenso, consome alguns gigabytes da memória do computador ao abrir, e fica demasiadamente lento para manipular o gráfico.
Dessa forma, toda vez que eu preciso plotar um arquivo diferente é necessário abrir Gráfico por gráfico, e selecionar intervalos manualmente, o que consome muito tempo. Meu problema é que os campos onde eu preciso inserir o range de células dentro do gráfico não aceitam nenhum tipo de fórmula, somente o range mesmo. Já tentei fazer até com VBA usando os comandos:
Para o eixo de tempo
ActiveChart.SeriesCollection(1).XValues = "=Graph!$M$3:$M$14800"
Para o eixo de Valores
ActiveChart.SeriesCollection(1).Values = "=Graph!$P$3:$P$14800"
No eixo de tempo preciso alterar a Coluna certa (L caso seja um das 16 primeiras variáveis, M as 16 proximas ou N para 16 ultimas) e o Valor 14800 para representar a quantidade certa de amostras
e no eixo de valores somente o 14800 para o valor correto de amostras
Eu gostaria de saber se existe alguma forma, usando VBA inclusive, para fazer a contagem automática de amostras e selecionar a Coluna de tempo correta sem ter que fazer isso manualmente toda vez.
Grato
Quero gerar um gráfico que seja auto adaptável dependendo da quantidade de pontos a serem plotados (Amostras) e qual é o eixo de tempo correto. Explico melhor:
Minha planilha possui 2 abas, uma Chamada All_Data, e outra Chamada Graph. Em All_Data possuo 3 amostragens de 16 variáveis diferentes, sendo que a disposição é a seguinte:
Linha 1 contém o Título de cada Variável. Por Exemplo em A2 posso ter o nome "Velocidade", sendo que nas linhas abaixo de "Velocidade" tenho os valores de velocidade aquisitados para cada amostra, e em uma outra coluna o instante de amostragem.
Time [s] Velocidade [%] (...)
0,134 100,1259 7,03
0,159 100,1259 7,15
0,191 100,1259 6,86
(...) (...) (...)
Nas Colunas de A até Q eu tenho o primeiro set de 16 variáveis, onde na coluna A está o tempo de amostragem de cada amostra de cada variável. No intervalo de R até AH o segundo set e o mesmo para o intervalo de AI a AY.
Na aba Graph eu tenho uma seleção de quais valores seriam plotados (feito por uma caixa de seleção usando validação de dados que só permite selecionar uma das 48 variáveis disponíveis, nas colunas de A a H) que ao selecionar uma variável específica (Digamos Velocidade do exemplo acima) faz com que os valores da Coluna B2:BX da Aba All_Data (onde X é o número de amostras+1) sejam transferidos para a Coluna A2:AX da Aba Graph, e em A1 está o nome da Variável que entra no título Série.
Tenho um gráfico de 8 linhas que irá plotar a tendência desse valores, no caso um gráfico tipo X Y Dispersão. 4 Tendências no eixo principal e 4 no eixo secundário, para poder fazer escalas diferentes.
Para configurar o gráfico preciso definir dessa forma 8 gráficos, sempre “fixados” às colunas respectivas da aba Graph.
O problema é que cada arquivo de dados que eu tenho que plotar possui um número de amostras diferentes (que pode variar de algumas centenas a vários mais de 300000 mil amostras). Eu já até fiz uma planilha que sempre lê todas as amostras desde a segunda linha até a linha 512001, porém o tamanho do arquivo fica imenso, consome alguns gigabytes da memória do computador ao abrir, e fica demasiadamente lento para manipular o gráfico.
Dessa forma, toda vez que eu preciso plotar um arquivo diferente é necessário abrir Gráfico por gráfico, e selecionar intervalos manualmente, o que consome muito tempo. Meu problema é que os campos onde eu preciso inserir o range de células dentro do gráfico não aceitam nenhum tipo de fórmula, somente o range mesmo. Já tentei fazer até com VBA usando os comandos:
Para o eixo de tempo
ActiveChart.SeriesCollection(1).XValues = "=Graph!$M$3:$M$14800"
Para o eixo de Valores
ActiveChart.SeriesCollection(1).Values = "=Graph!$P$3:$P$14800"
No eixo de tempo preciso alterar a Coluna certa (L caso seja um das 16 primeiras variáveis, M as 16 proximas ou N para 16 ultimas) e o Valor 14800 para representar a quantidade certa de amostras
e no eixo de valores somente o 14800 para o valor correto de amostras
Eu gostaria de saber se existe alguma forma, usando VBA inclusive, para fazer a contagem automática de amostras e selecionar a Coluna de tempo correta sem ter que fazer isso manualmente toda vez.
Grato