Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正确对齐highcharts中的列_Highcharts - Fatal编程技术网

正确对齐highcharts中的列

正确对齐highcharts中的列,highcharts,Highcharts,我试图在highcharts中创建一个柱状图,以显示datetime轴上的月度数据。问题在于钢筋之间的间距不同。例如,2月份之后,间隔较小,而其他月份之后间隔较大。也许这是因为二月只有28天。 无论如何,这是我的代码: Highcharts.chart('container', { chart: { type: 'column' }, xAxis: [{ type: 'datetime' }, { type: 'datetim

我试图在highcharts中创建一个柱状图,以显示datetime轴上的月度数据。问题在于钢筋之间的间距不同。例如,2月份之后,间隔较小,而其他月份之后间隔较大。也许这是因为二月只有28天。 无论如何,这是我的代码:

Highcharts.chart('container', {
    chart: {
      type: 'column'
    },

    xAxis: [{
      type: 'datetime'
    }, {
      type: 'datetime',
      visible: false
    }],

    plotOptions: {
      column: {
                grouping: false,
        groupPadding: 0,
        pointPadding: 0,
        pointPlacement: 'between'
      }
    },

    series: [{
      name: 'Year',
      xAxis: 1,
      data: [25],
      zIndex: 4,
      color: '#222',
      pointStart: Date.UTC(2017, 0, 1),
      pointInterval: 1,
      pointIntervalUnit: 'year'
    }, {
      name: 'Month',
      data: [50, 100, 130, 160, 170, 200, 170, 165, 250, 200, 230, 160],
      pointStart: Date.UTC(2017, 0, 1),
      pointInterval: 1,
      pointIntervalUnit: 'month',
      zIndex: 2,
      color: 'red',
    }],
});


我还加了一整年的酒吧。您注意到已经提到的间距问题,年份区域有点太宽。你知道如何解决这个问题吗?

嗯,我想除了使用分类x轴之外,没有其他选择了。我不喜欢这个解决方案,因为我不得不硬编码日期时间值,而不是使用日期时间格式化程序等等。 无论如何,通过如下定义xAxis,我得到了所需的图表布局

xAxis: [{
        categories: [
            'Jan',
            'Feb',
            'Mar',
            'Apr',
            'May',
            'Jun',
            'Jul',
            'Aug',
            'Sep',
            'Oct',
            'Nov',
            'Dec'
        ],
        tickmarkPlacement: 'on'
    },
    {
        categories: [
            '2017'
        ],
        visible: false
    }]

小提琴:如果你不介意的话,你可以用Highstock。有一个轴选项称为
ordinal
。将该值设置为true(默认情况下),所有点的间距相等。看看下面的例子

API参考:

示例:

是的,你的假设是正确的。间隔的变化是因为并非所有月份的天数都相同。如果您想显示月份数据,并且列是有限的,那么您可以选择分类x轴。这将使柱之间的间距相等。