0

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

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

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

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

任何帮助将不胜感激。

4

2 回答 2

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
        });
    });
于 2013-05-07T14:16:29.467 回答
0

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

这里有更多信息:当值太小时,高图表数据标签位置需要改变

您必须使用 X 值:

plotOptions : {
                series : {
                    dataLabels: {
                        formatter: function() {
                            return this.x
                        },
                        x: ?,
                        enabled: true
                    }
                }
            }
于 2013-05-02T22:38:15.830 回答