【问题标题】:Highcharts: bar/column chart label position with values of 0Highcharts:条形图/柱形图标签位置,值为 0
【发布时间】:2014-08-11 16:52:29
【问题描述】:

如果我有一个 Highcharts 条形图或柱形图,其中包含一个包含全零数组的数据系列,则 y 轴刻度标签将显示在 y 轴的中心,以及一个额外的 y 轴。我已经尝试过刻度位置和最小值,但在这个特殊的数据集的情况下,这些似乎不起作用。见http://jsfiddle.net/davidpmcintyre/mepd17tn/

这里是highcharts代码sn-p:

$(function () {
    $('#container').highcharts({
        chart: {
            type: 'bar'
        },
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr' ]
        },      

        series: [{
            data: [0, 0, 0, 0]
        }]
    });
});

【问题讨论】:

  • “额外的 y 轴”是什么意思?你是说网格线吗?另外,您希望它在特定情况下看起来如何?
  • 我想它实际上不是 y 轴,而是 y 轴网格线。但由于即使将 y 轴的 min 设置为 0 后问题仍然存在,看起来 hte 问题似乎是 y 轴对齐不佳。如果任何值超过 0,我希望唯一的网格线准确定位; y 网格线/轴应位于绘图区域的最左侧。
  • 对。好吧,没有数据可以显示为条形图,那么理想情况下您希望它看起来如何?
  • 0 的网格线和标签应位于绘图区域的最左侧,imo。
  • min: 0, max: 1 怎么样?

标签: highcharts


【解决方案1】:

假设(给定图表的要求):

  • 所有数据都是正数
  • 您总是希望在 y 轴上从 0 开始

以下代码将允许您左对齐 y 轴,并指定您希望在最小情况下显示多少 y 轴 (JSFiddle):

yAxis: {
    min: 0,
    minRange: 1
}

这仍然允许您在 y 轴上拥有更大的范围,因为它仅在值范围小于 1 时才起作用。这反过来意味着您不必在设置任何值之前检查您的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    相关资源
    最近更新 更多