Highcharts-在饼图中放置样式和更改一个楔形的样式的位置



我在这里有一个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将样式仅附加到一个数据点?

这是一个简单的html,因此您可以添加classid,然后使用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;
    }
}

相关内容

  • 没有找到相关文章

最新更新