2

我在这里有一个 Highcharts 饼图:http: //jsfiddle.net/6PbbR/52/

$(function () {

    var chart;
    $(document).ready(function() {

      // Radialize the colors
    Highcharts.getOptions().colors = Highcharts.map(Highcharts.getOptions().colors, function(color) {
        return {
            radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 },
            stops: [
                [0, color]
            ]
        };
    });

    // Build the chart
        chart = new Highcharts.Chart({
            chart: {
                renderTo: 'container',
                plotBackgroundColor: null,
                plotBorderWidth: null,
                plotShadow: false,
                shadow: true,
                    },
            tooltip: {
                enabled: false
            },
            title: {
                text: ""
            },
            plotOptions: {
                pie: {
                    allowPointSelect: true,
                    size:'68%',
                    cursor: 'pointer',
                    shadow: true,
                    dataLabels: {
                        enabled: true,
                        distance: -40,
                        style: {
                        width: '100px'
                    },
                        color: '#fff',
                        connectorColor: '#000000',
                        formatter: function() {
                            return '<b style="font-family:arial;font-size:10px;font-weight:bold">'+ this.point.name +'</b> ';
                        }
                    }
                }
            },
            series: [{
                type: 'pie',
                 name: 'Income Investments',
                data: [
                     ['FLOATING RATE FUNDS',   16.667],
                    {
                        name: 'Corporate Capital Trust',
                        y: 16.667,
                        sliced: true,
                        selected: true
                    },                                     
                    ['BONDS',   16.667],
                    ['ANNUITIES',       16.667],
                    ['REITs',    16.667],
                    ['CDs',     16.667]
                ]
            }],

        colors: [
                     '#83a3c6',
                      '#98012e', 
                    '#19699b', 
                    '#ae9e8e', 
                    '#5283b0', 
                    '#958370'
                      ],
        });
    });

});

两个问题:

1) 我对在 plotOptions{pie{formatter. 哪里有更好的地方使用 API 来执行此操作,而不是强制使用内联样式?

2)我想更改红色楔形的字体系列(并可能调整其定位/边距)。这样做的最佳方法是什么?

编辑:理想情况下,我可以在不需要超出上述功能的情况下完成我的需求。是否可以使用 API 将样式附加到一个数据点?

4

1 回答 1

1

这是一个简单的 html,所以你可以添加一个classorid然后使用css.

js

formatter: function() {
    return '<b id="myTooltipId">'+ this.point.name +'</b> ';
}

css

#myTooltipId {
    font-family: arial;
    font-size: 10px;
    font-weight:bold
}

更新

在格式化程序内部,您可以使用this.
所以你只需要检查切片是否是你想要的。

formatter: function() {
    // key is the slice name
    if (this.key == 'CDs') {
        return '<b id="myTooltipId">'+ this.point.name +'</b> ';
    } else {
        return this.value;
    }
}
于 2013-02-04T19:14:57.023 回答