如何一次将两个值输入y轴对应于Highchart中的单个x轴值

时间:2018-07-05 19:58:30

标签: javascript highcharts highcharts-ng

我的要求是使用X和Y轴绘制Highchart。 x轴显示年份,y轴显示相应的数量(百万)。

对于1966年,我希望图表首先遍历到2396,然后遍历到435,只有到了下一年1968年,才再次遍历435。请参阅我的注释行(// y:(2396,435)对我不起作用。请使用Highchart帮助解决此问题。

下面是我的代码,您可以将其直接复制到https://jsfiddle.net/y0kqsrav/编辑器并执行。

#include <iostream>
struct N {
    int n = 1;
    operator int() const {return 0;}
};
int main()
{
    N n;
    std::cout << n << " " << n.n;
}

2 个答案:

答案 0 :(得分:0)

为1966添加另一个数据点

{    x:1966年,    y:435 }

然后删除堆栈。

Highcharts.chart('container', {
    chart: {
        type: 'areaspline'
    },
    title: {
        text: 'Historic and Estimated Worldwide Population Growth by Region'
    },
    subtitle: {
        text: 'Source: Wikipedia.org'
    },
    xAxis: {
        categories: ['1964', '1966', '1968', '1970'],

        title: {
            enabled: false
        }
    },
    yAxis: {
        title: {
            text: 'Billions'
        },
        labels: {
            formatter: function () {
                return this.value / 100;
            }
        }
    },
    tooltip: {
        split: true,
        valueSuffix: ' millions'
    },
    plotOptions: {
        areaspline: {

    //        stacking: 'areaspline',
            lineColor: '#666666',
            lineWidth: 1,
            marker: {
                lineWidth: 1,
                lineColor: '#666666',

            }
        }
    },
    series: [{
        name: 'USA',
        data: [
        {
          x: 1964,
          y: 2416
        },
        {
          x: 1966,
          y: 2396
         // y: (2396, 435),
        },
        {
          x: 1966,
          y: 435
        },
        {
          x: 1968,
          y: 435
        },
        {
          x: 1970,
          y: 223
        }
        ]
    }]
});

https://jsfiddle.net/y0kqsrav/112/

答案 1 :(得分:0)

使用类别时,点的x坐标对应于类别index。因此,您应该像这样定义数据以实现所需的行为:

xAxis: {
    categories: ['1964', '1966', '1968', '1970'],

(...)

  series: [{
    name: 'USA',
    data: [{
        x: 0,
        y: 2416
      },
      {
        x: 1.7, // move it a little bit to the left
        y: 2396
      },
      {
        x: 2.3, // move it a little bit to the right
        y: 435
      },
      {
        x: 4,
        y: 435
      },
      {
        x: 6,
        y: 223
      }
    ]
  }]

实时演示: http://jsfiddle.net/BlackLabel/54s2tcbr/