highcharts 堆积图表滚动问题

gmxoilav  于 2022-11-11  发布在  Highcharts
关注(0)|答案(1)|浏览(339)

我必须使用堆叠栏,并有以下要求:
1.条宽度应该是固定的(比如说15 px,使用pointWidth属性)
1.无论值或条的数量如何,条之间都应保持间隙。
1.如果图表的高度超过600像素,需要显示滚动(点#1和点#2应在适当的位置)我已经实现了点#1和#2(在运行时使用一些逻辑基础条/系列计数调整图表的高度),但在点#3上面临问题,因为存在属性scrollablePlotArea:{最小高度:400 },当图表最小高度小于400时显示滚动,但当高度超过特定限制时似乎没有显示滚动的选项,或者说缺少最大高度选项。

rsl1atfo

rsl1atfo1#

响应式规则应该会有帮助,你可以根据你的条件制作一个图表。我不确定你是否知道,条形图和柱形图完全一样,只是x轴和y轴互换了。

Highcharts.chart('container', {
  chart: {
    type: 'bar',
    scrollablePlotArea: {
      minHeight: 600
    },
  },
  title: {
    text: 'Stacked bar chart'
  },
  xAxis: {
    categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
  },
  yAxis: {
    min: 2,
    title: {
      text: 'Total fruit consumption'
    }
  },
  plotOptions: {
    series: {
      stacking: 'normal'
    }
  },
  series: [{
    name: 'John',
    data: [5, 3, 4, 7, 2]
  }, {
    name: 'Jane',
    data: [2, 2, 3, 2, 1]
  }, {
    name: 'Joe',
    data: [3, 4, 4, 2, 5]
  }],
  responsive: {
    rules: [{
      condition: {
        minWidth: 600
      },
      // Make the labels less space demanding on mobile
      chartOptions: {
        chart: {
          scrollablePlotArea: {
            minHeight: 800
          },
        },
      }
    }]
  }
});

现场演示:https://jsfiddle.net/BlackLabel/ae4z53hw/
API参考:https://api.highcharts.com/highcharts/responsive.rules.condition
最好使用groupPadding、pointPadding和centerInCategory来调整列宽。PointWidth是一个以像素为单位的值,可能更难操作,这样它们就不会重叠。

plotOptions: {
  series: {
    grouping: false,
    stacking: 'normal',
    groupPadding: 0,
    pointPadding: 0,
    centerInCategory: true,
  }
},

https://api.highcharts.com/highcharts/plotOptions.bar.centerInCategory

相关问题