首页 > 其他分享 >Highcharts之基础饼图案例实现

Highcharts之基础饼图案例实现

时间:2022-10-25 10:22:41浏览次数:69  
标签:name 基础 chart Highcharts 案例 options null highcharts

<template>
    <div class="highcharts-container" id="container" ref="leida" style="min-width: 400px; max-width: 660px; height: 400px; margin: 0 auto" />
</template>
<script>
import Highcharts from 'highcharts';
import highcharts3d from 'highcharts/highcharts-3d.js';
import highchartsMore from 'highcharts/highcharts-more.js';//扩展图表类型

highcharts3d(Highcharts);
highchartsMore(Highcharts);

export default {
    name: "Highcharts",
    props: {},
    data: () => ({
        chart: null,
        options: {},
        cColor: ['#5c08ef', '#ff0000', '#21b100', '#f56c6c', '#d99c40', '#409eff', '#d4ff40'],
        labelList: [{
                name: 'QQ Browser',
                y: 10
        }, {
                name: '360 Browser',
                y: 25,
        }, {
                name: 'Firefox',
                y: 15
        }, {
                name: 'Opear',
                y: 20
        }, {
                name: 'Edge',
                y: 15
        }, {
                name: 'Google Chrome',
                y: 25
        }]
    }),
    watch: {},
    components: {},
    mounted() {
        this.renderChart();
    },
    methods: {
        renderChart() {
            let that = this;
            if(this.chart || !this.options) return;
            this.options = {
                chart: {
                    plotBackgroundColor: null, // 绘图区的背景色
                    plotBorderWidth: null,
                    plotShadow: false,
                    type: 'pie'
                },
                colors: this.cColor,
                title: {
                    text: '2018年1月浏览器市场份额'
                },
                tooltip: {
                    enabled: true,
                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
                },
                legend: {
                    labelFormatter: function () {
                        return this.name + ':占比'+(Math.floor(this.percentage*100)/100);
                    }
                },
                legend: {
                    itemStyle: {
                        cursor: "default"
                    },
                    itemHoverStyle: {
                        cursor: "default"
                    }
                },
                plotOptions: {
                    pie: {
                        shadow: false,
                        allowPointSelect: true,
                        cursor: 'pointer',
                        borderColor: null,
                        dataLabels: {
                            // inside: true,
                            format: '<p>{point.name} <br><b style="font-size: 20px;">{point.percentage:.1f}<b></p>',
                            connectorWidth : 2,
                            connectorPadding: 5,
                            style: {
                                fontSize: '12px',
                                textAlign: 'right',
                                color: '#000000'
                            }
                        },
                        events: {
                            click: (event) => {
                                console.log('>>>>', event);
                            }
                        },
                    }
                },
                series: [
                    {
                        name: '占比',
                        size: '70%',
                        data: this.labelList
                    }
                ]
            }
            this.chart = new Highcharts.Chart(this.$refs.leida, this.options);
        }
    },
    beforeDestroy() {
        if(this.chart !== null) {
            this.chart.destroy();
        }
    }
};
</script>

图例:

标签:name,基础,chart,Highcharts,案例,options,null,highcharts
From: https://www.cnblogs.com/min77/p/16823985.html

相关文章

  • FocusBI Django 入门项目案例开发
    Django入门案例开发(中)http://www.cnblogs.com/focusBI/p/7858267.html Django入门案例开发(下)——创建项目应用及模型类   http://www.cnblogs.com/focus......
  • python爬虫需要什么基础?
    学习Python基础知识并实现基本的爬虫过程一般获取数据的过程都是按照发送请求-获得页面反馈-解析并且存储数据这三个流程来实现的。这个过程其实就是模拟了一个人工浏览网......
  • mysql数据库基本命令与基础语法
    以mysql8.0.31为例1、查看mysql服务状态servicemysqldstatus2、停止mysql服务servicemysqldstop3、启动mysql服务servicemysqldstart......
  • 安卓逆向 ARM基础篇 二
    1.寄存器寻址的八中方法    1.立即寻址  二寄存器寻址  三寄存器移位寻址  过程R2移位传给R0四寄存器间接寻址五基址寻址  六多......
  • 线性基基础入门|求线性基|最大异或和|第k大异或和|判断一个数能否用线性基表示
    前置知识:(今天刚知道的#acm:异或满足结合律,交换律,x^x=0;#线性代数关于最大无关组的基本知识-------我是正文------给定一个数组a1,a2,a3,a4,a5..数组a的线性基b为b1......
  • 【python】装饰器基础
    什么是装饰器?装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值也是一个函数对象。它经常用于有切......
  • 基础I/O
    在c中的对文件进行操作1#include<stdio.h>2#include<unistd.h>34intmain(intargc,char*argv[])5{6if(argc!=2)7{8printf("Us......
  • Netty介绍、BIO与NIO基础知识
    第1章Netty介绍和应用场景1.1Netty介绍Netty是由JBOSS提供的一个Java开源框架,现为Github上的独立项目。Netty是一个异步的、基于事件驱动的网络应用框架,用以快速开......
  • 【2022.10.24】Vue基础学习(1)
    内容概要1.前端发展介绍2.Vue的快速使用3.差值语法4.指令系统之文本指令5.指令系统之事件指令6.指令系统之属性指令内容详细1前端发展介绍#HTML(5)、CSS(......
  • R语言、04 案例P143 Go bananas、《商务与经济统计》案例题
    编程教材《R语言实战·第2版》RobertI.Kabacoff课程教材《商务与经济统计·原书第13版》(安德森)P143、案例GoBananas#1生产中断的概率c<-pbinom(4,......