0

The highcharts examples and a combination of graphs, work great for lines and graphs. They also seem to overlap nicely. However, when I move the linear graph to show first, it gets 'hidden' behind the rest of the graphs. [Linear chart hidden] or

Moving the 'line' to display first hides it behind the rest of the data. I want the line to still show, but it needs to be the first piece of data mapped to the graph:

In the second example link, updating the code thus, hides the linear chart behind the rest of the charts:

$(function () {
    $('#container').highcharts({
        title: {
            text: 'Combination chart'
        },
        xAxis: {
            categories: ['Apples', 'Oranges', 'Pears', 'Bananas', 'Plums']
        },
        labels: {
            items: [{
                html: 'Total fruit consumption',
                style: {
                    left: '50px',
                    top: '18px',
                    color: (Highcharts.theme && Highcharts.theme.textColor) || 'black'
                }
            }]
        },
        series: [{
            type: 'spline',
            name: 'Average',
            data: [3, 2.67, 3, 6.33, 3.33],
            marker: {
                lineWidth: 2,
                lineColor: Highcharts.getOptions().colors[3],
                fillColor: 'white'
            }
        },{
            type: 'column',
            name: 'Jane',
            data: [3, 2, 1, 3, 4]
        }, {
            type: 'column',
            name: 'John',
            data: [2, 3, 5, 7, 6]
        }, {
            type: 'column',
            name: 'Joe',
            data: [4, 3, 3, 9, 0]
        },  {
            type: 'pie',
            name: 'Total consumption',
            data: [{
                name: 'Jane',
                y: 13,
                color: Highcharts.getOptions().colors[0] // Jane's color
            }, {
                name: 'John',
                y: 23,
                color: Highcharts.getOptions().colors[1] // John's color
            }, {
                name: 'Joe',
                y: 19,
                color: Highcharts.getOptions().colors[2] // Joe's color
            }],
            center: [100, 80],
            size: 100,
            showInLegend: false,
            dataLabels: {
                enabled: false
            }
        }]
    });
});
Loser Coder
  • 2,338
  • 8
  • 42
  • 66

1 Answers1

0

You should be able to make your chart using series.legendIndex parameter. You can find more information about this parameter in Highcharts API: http://api.highcharts.com/highcharts/series.legendIndex

    series: [{
  type: 'spline',
  name: 'Average',
  legendIndex: 0,
  data: [3, 2.67, 3, 6.33, 3.33],
  index: 5,
  marker: {
    lineWidth: 2,
    lineColor: Highcharts.getOptions().colors[3],
    fillColor: 'white'
  }
}, {
  legendIndex: 1,

  type: 'column',
  name: 'Jane',
  data: [3, 2, 1, 3, 4]
}, {
  legendIndex: 2,

  type: 'column',
  name: 'John',
  data: [2, 3, 5, 7, 6]
}, {
  legendIndex: 3,

  type: 'column',
  name: 'Joe',
  data: [4, 3, 3, 9, 0]
}, {
  type: 'pie',
  name: 'Total consumption',
  data: [{
    name: 'Jane',
    y: 13,
    color: Highcharts.getOptions().colors[0] // Jane's color
  }, {
    name: 'John',
    y: 23,
    color: Highcharts.getOptions().colors[1] // John's color
  }, {
    name: 'Joe',
    y: 19,
    color: Highcharts.getOptions().colors[2] // Joe's color
  }],
  center: [100, 80],
  size: 100,
  showInLegend: false,
  dataLabels: {
    enabled: false
  }
}]

Here you can find an example how your chart may work with this parameter: http://jsfiddle.net/aurvdk62/9/

Grzegorz Blachliński
  • 5,132
  • 10
  • 13