如何在3d饼图上设置边框?

时间:2014-04-28 18:50:33

标签: javascript jquery html css highcharts

我有一个使用highchart插件的三维饼图,我想在每个部分放置边框,所以我提出以下内容:

borderWidth: 4,
borderColor: "red"

plotOptions: pie:。但我担心这些部分的边框颜色与填充的颜色相同。

有什么办法可以吗?我不介意边框是白色的,但我需要区分这些部分。

这是一个jsfiddle,您可以尝试:http://jsfiddle.net/qRvn2/

JS

$(function () {
    $('#container').highcharts({
        chart: {
            type: 'pie',

            options3d: {
                enabled: true,
                alpha: 45,
                beta: 0
            }
        },
        title: {
            text: 'Browser market shares at a specific website, 2014'
        },
        tooltip: {
            pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                depth: 35,
                borderWidth: 4,
                borderColor: "red",
                dataLabels: {
                    enabled: true,
                    format: '{point.name}'
                }
            }
        },
        series: [{
            type: 'pie',
            name: 'Browser share',
            data: [
                ['Firefox',   45.0],
                ['IE',       26.8],
                {
                    name: 'Chrome',
                    y: 12.8,
                    sliced: true,
                    selected: true
                },
                ['Safari',    8.5],
                ['Opera',     6.2],
                ['Others',   0.7]
            ]
        }]
    });
});

HTML

<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/highcharts-3d.js"></script>

<div id="container" style="height: 400px"></div>

2 个答案:

答案 0 :(得分:1)

这是一个错误,我们的开发人员在此报告:https://github.com/highslide-software/highcharts.com/issues/2985

答案 1 :(得分:0)

我认为你可以在图表初始化之后迭代点并在那里设置笔画属性

$.each(chart.series[0].data, function(i, point) {
        point.graphic.attr({
            stroke: '#000000'
        });
    });

检查小提琴:http://jsfiddle.net/qRvn2/3/

更新:

这里有一个问题,我看到将鼠标悬停在事件上后会重新绘制它们。也许你可以在这些事件上添加听众并将它们重新绘制成你的风格。需要思考......