数据标签放置 - 与图表数据相反(正值和负值)

时间:2013-05-02 20:31:37

标签: highcharts

我正在创建一个带有正值和负值的条形图,并显示每个数据点的xAxis(类别名称)(参见小提琴:http://jsfiddle.net/engemasa/eMjGg/)。

这是我对情节选项的看法,但我不确定我还需要什么(真的只把这个代码放在这里,因为我需要包含一些代码来链接到jsfiddle)

plotOptions : {
            series : {
                dataLabels: {
                    formatter: function() {
                        return this.x
                    },
                    enabled: true
                }
            }
        },

我正在尝试放置标签,使其与图表上每个条形的开头对齐。我想要了我想要的结果:http://i.imgur.com/0I1jSHW.png

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您可以迭代每个数据标签并使用translate()函数移动SVG元素。

http://jsfiddle.net/eMjGg/7/

$.each(chart.series[0].data,function(i,data){

        position = chart.yAxis[0].toPixels(0);

        console.log(data);
        if(data.y < 0) 
            position-=10;
        else
            position-=70;

        data.dataLabel.attr({
            x:position
        });
    });

答案 1 :(得分:0)

我认为这会对您有所帮助:http://jsfiddle.net/42dRt/5/

以下是更多信息:high-charts datalabel position needs to change when value is too small

您必须使用X值:

plotOptions : {
                series : {
                    dataLabels: {
                        formatter: function() {
                            return this.x
                        },
                        x: ?,
                        enabled: true
                    }
                }
            }