highecharts 3d饼图,引线文字

      最近因为项目需要3d图例,原先用echarts画的图例就不能用了,所以只能改用highchars。话不多少,直接上图+代码,

     本人开发时,图例出来后,引线和引线的文字不能对应,饼图块的颜色,搜索了很多知识,终于完成如下代码:

 

 

 

 

<html>
<head>
    <meta charset="UTF-8" />
    <title>饼图</title>
    <script type="text/javascript" src="plugins/jquery/jquery-1.12.4.min.js" charset="UTF-8"></script>
    <script type="text/javascript" src="plugins/echarts/highcharts.js" charset="UTF-8"></script>
    <script type="text/javascript" src="plugins/echarts/highcharts-3d.js" charset="UTF-8"></script>
</head>
<body>
<div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div>
<script type="text/javaScript">

    var pieColors = (function () {     // 此处是基础着色,如果设置好颜色,此处就没有看的必要了
        var colors =[],
                base = Highcharts.getOptions().colors[0],
                i;

        for (i = 0; i < 10; i += 1) {
            // Start out with a darkened base color (negative brighten), and end
            // up with a much brighter color
            colors.push(Highcharts.Color(base).brighten((i - 3) / 7).get());
        }
        return colors;
    }());
    $(document).ready(function() {
        var chart = {
            type: 'pie',
            options3d: {
                enabled: true,
                alpha: 45,
                beta: 0
            }
        };
        var title = {
            text: '测试占有率'
        };
        var tooltip = {
            pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
        };
        var colors=['#FF0000','#00FF00','#0000FF','#FFFF00','#00FFFF','#FF00FF'];    //设置饼图颜色
        var credits =  {
            enabled: false    //禁用版权url    此处不设置,  会显示highecharts.com
        };
        var plotOptions = {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                depth: 35, //饼图厚度
               // color:pieColors,
                dataLabels: {
                    distance: 30,//设置引导线的长度
                   // color:'red',//全局设置字体颜色
                    enabled: true,
                   // format: '{point.name}',
                    formatter: function() {     //设置字体与引导线和饼图颜色一致
                        if(this.point.name == '中国'){
                            return '<span style="color:#FF0000">['+ this.point.name +' '+ Highcharts.numberFormat(this.percentage, 2)+'%]</span>';
                        }else if(this.point.name == '美国'){
                            return '<span style="color:#00FF00">['+ this.point.name +' '+ Highcharts.numberFormat(this.percentage, 2)+'%]</span>';
                        }else if(this.point.name == '俄罗斯'){
                            return '<span style="color:#0000FF">['+ this.point.name +' '+Highcharts.numberFormat(this.percentage, 2)+'%]</span>';
                        }else if(this.point.name == '英国'){
                            return '<span style="color:#FFFF00">['+ this.point.name +' '+ Highcharts.numberFormat(this.percentage, 2)+'%]</span>';
                        }else if(this.point.name == '朝鲜'){
                            return '<span style="color:#00FFFF">['+ this.point.name +' '+ Highcharts.numberFormat(this.percentage, 2)+'%]</span>';
                        }else if(this.point.name == '日本'){
                            return '<span style="color:#FF00FF">['+ this.point.name +' '+ Highcharts.numberFormat(this.percentage, 2)+'%]</span>';
                        }
                    }
                   /* style: {
                        fontSize: '10px',//设置字体大小
                        fontFamily: 'Verdana, sans-serif'
                    }*/
                }
            }

        };
        var series= [{
            type: 'pie',
            name: 'Browser share',
            startAngle: 180,//调整饼图的角度   方向:顺时针
            data: [
                ['中国',   45.0],
                ['美国',       16.8],
                {
                    name: '俄罗斯',
                    y: 22.8,
                    sliced: true,
                    selected: true
                },
                ['英国',    8.5],
                ['朝鲜',     6.2],
                ['日本',   0.1]
            ]
        }];

        var json = {};
        json.chart = chart;
        json.title = title;
        json.tooltip = tooltip;
        json.colors = colors;   // 设置饼图颜色
        json.credits = credits;
        json.plotOptions = plotOptions;
        json.series = series;
        $('#container').highcharts(json);
    });
</script>
</body>
</html>
 

 

 

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
qiun-data-charts是一个数据可视化库,用于创建各种类型的图表,包括饼图。在饼图中,引线文字是指连接饼图扇形区域和对应标签的线,并在线上显示标签文字的功能。 要实现饼图引线文字的自定义,你可以使用qiun-data-charts提供的配置选项。具体步骤如下: 1. 创建一个饼图实例,并设置数据源。 2. 使用`labelLine`配置项来定义引线的样式和位置。你可以设置引线的长度、弯曲程度、颜色等属性。 3. 使用`label`配置项来定义标签的样式。你可以设置标签的字体、颜色、位置等属性。 4. 根据需要,可以使用其他配置项来进一步自定义饼图的外观和交互行为。 下面是一个示例代码,展示了如何使用qiun-data-charts创建一个带有自定义引线文字饼图: ```javascript import { Pie } from 'qiun-data-charts'; const data = [ { name: 'A', value: 30 }, { name: 'B', value: 50 }, { name: 'C', value: 20 }, ]; const options = { series: [ { type: 'pie', data: data, labelLine: { length: 30, // 引线长度 smooth: true, // 引线弯曲程度 lineStyle: { color: 'rgba(0, 0, 0, 0.5)', // 引线颜色 }, }, label: { show: true, position: 'outside', // 标签位置 textStyle: { color: '#333', // 标签文字颜色 }, }, }, ], }; const chart = new Pie(document.getElementById('chart-container')); chart.setOptions(options); chart.render(); ``` 通过以上代码,你可以根据自己的需求来自定义饼图引线文字的样式和位置。记得根据实际情况修改数据和其他配置项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值