2

データラベルの backgroundColor をそのシリーズと同じ色に設定しようとしています (UI の理由)。

フォーマッタ オプションを使用して目的のスタイルの「div」を返そうとしましたが、dataLabel にはフォントの色のみが適用されます。

どうすればこの問題を解決できますか? 私が試しているコードに従ってください。

$(function () {
    $('#container').highcharts({

        chart: {
        },

        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul',
                                     'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },

        plotOptions : {
            series : {
                dataLabels : {
                    enabled : true,
                    formatter : function() {
                        return $('<div/>').css({
                            'color' : this.series.color, // works
                            'border' : '1px solid black', // don't work
                            'backgroundColor' : this.series.color // don't work
                        }).text(this.y)[0].outerHTML;
                    }
                }
            }
        },

        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]},
        {
            data: [216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5]}]

    });
});

実際の例へのリンク: http://jsfiddle.net/eVfZD/

更新しました:

解決策は簡単でした。オプション「useHTML」をtrueに設定し、スタイルをフォーマッタ関数内で作成された「div」に設定するだけです。

4

1 に答える 1