Adicione barras de erro personalizadas a várias séries em um gráfico

3

Eu tenho meus dados em um arquivo csv como abaixo, exceto com mais colunas e linhas

 Mean values   61           43
 Sample 1      0.009    0.059
 Sample 2      0.108    0.099
 Sample 3      0.043    0.038
 Sample 4      0.079    0.227

 Stdev         61           43
 Sample 1     0.00      0.00
 Sample 2     0.04      0.04
 Sample 3     0.01      0.01
 Sample 4     0.04      0.04

Eu quero desenhar um gráfico como o acima, onde eu posso especificar as barras de erro. Eu posso fazer isso manualmente, onde eu seleciono cada série e adiciono uma barra de erro personalizada, então seleciono os valores que eu quero, mas fica um pouco tedioso quanto mais séries eu tenho, então há uma maneira mais fácil de fazer isso ou uma opção que eu posso usar em vez de selecionar manualmente cada série para adicionar uma barra de erro personalizada?

    
por Nathaniel Saxe 08.05.2014 / 16:44

1 resposta

1

É possível fazer esse tipo de gráfico com javascript, e há um add-in que permite usá-lo no Excel.

Aqui está um código de trabalho que escrevi para você:

link

Eu usei um editor on-line com uma planilha incorporada para testar meu código, é bem simples de usar. Depois de inserir seus dados na planilha, você pode acessá-los com seu código por meio de um arquivo JSON. Esse é o primeiro arquivo abaixo de Configurações .

Quando os dados estiverem acessíveis, você terá que criar um gráfico e, para isso, terá que escolher uma biblioteca javascript. Há muitos poderosos como Plotly.js ou Highcharts. Eu usei Highcharts para este exemplo.

Certifique-se de organizar seus dados no arquivo script.js . Para que você possa inserir seus dados corretamente nos gráficos. Eu crio variáveis locais em script.js que contém os dados da planilha, como tal:

var labels = []; // "samples 1" ...
var category = []; // "61" and "43"
var firstValues = [];// 61
var secondValues = [];//43
var categoryValues = [];// firstValues + secondValues

var firstErrors = [];// Stdev 61
var secondErrors = [];// Stdev 43
var errorValues = []; // firstErrors + secondError

Preencha series com os dados corretos, graças às variáveis locais.

 var series = [];
      // We enter the Sample and Error Values in the chart (series)
      for(var i = 0; i < category[0].length; i++) {
        series.push({
            name: category[0][i],
            type: 'column',
            color: Highcharts.getOptions().colors[i+7],
            data: categoryValues[i]
        });
        series.push({
            name: 'error',
            type: 'errorbar',
            data: errorValues[i],
           tooltip: {
            pointFormat: '(error range: {point.low}-{point.high} mm)<br/>'
        }
        });        
      }

Crie o gráfico com series e outras opções opcionais.

Highcharts.chart('container', {

    title: {
        text: 'custom error bars to multiple series'
    },

    xAxis: {
        categories: labels
    },

    yAxis: {
        allowDecimals: true,
        min: 0,
        max: 0.3
    },

    tooltip: {
      shared:true
    },

    series: series
});

Você pode carregá-lo no Excel colando o URL no suplemento do Funfun Excel . Aqui está como se parece com o meu exemplo:

Você pode baixá-lo em JPEG, PNG, PDF, SVG ou imprimi-lo, se desejar.

Divulgação: sou um desenvolvedor do Funfun.

    
por 26.01.2018 / 15:54