5

如果特定值相对于最大值非常小,我们在整个应用程序中都会遇到条形图无法呈现的问题。以下 jsFiddle 说明了这个问题:

http://jsfiddle.net/yahsukram/dQHQf/

$(function () {
    $('#container').highcharts({
        chart: {
            type: 'bar'
        },
        title: {
            text: null
        },
        xAxis: {
            title: {
                text: null
            },
            labels: {
                enabled: false
            }
        },
        yAxis: {
            min: -50000,
            max: 5000000,
            title: {
                text: null
            }
        },
        tooltip: {
            enabled: false
        },
        plotOptions: {
            bar: {
                dataLabels: {
                    enabled: true
                }
            }
        },
        legend: {
            enabled: false
        },
        credits: {
            enabled: false
        },
        exporting: {
            enabled: false
        },
        series: [{
            categories: ['John', 'Jane', 'Bob', 'Bill', 'Jesus'],
            data: [5000000, 20000, 200, -50000, -10000]
        }]
    });
});

请注意,200 和 -10000 的条形根本不渲染。有没有办法将最小宽度设置为 2 或 3 像素?我已经尝试了几件事并四处搜索,但没有找到任何真正解决这个问题的东西。我们有很多不同的图表展示了这种行为,并且根据我们获取的数据类型,上/下值可能会发生巨大变化。

增加容器的宽度不是一种选择,因为我们正在以列格式呈现许多图表,这给了我们有限的空间。

任何帮助是极大的赞赏。

4

1 回答 1

5

我认为您想要的选项是 minPointLength:

plotOptions: {
            bar: {
                minPointLength:5,
                dataLabels: {
                    enabled: true
                }
            }
于 2013-04-02T20:45:07.803 回答