vue+Highcharts绘制3D饼图

效果图

 

一、下载highcharts插件

npm install highcharts

二、main.js全局配置插件

import Highcharts from "highcharts/highcharts";
import highcharts3d from "highcharts/highcharts-3d";
highcharts3d(Highcharts);

三、封装highcharts.vue组件

Highcharts.chart("EchartsPie", {chart: {type: "pie", //饼图options3d: {enabled: true, //使用3d功能alpha: 70, //延y轴向内的倾斜角度beta: 0,},backgroundColor: "rgba(0, 0, 0, 0)", // 不显示背景色width: 520,height: 220, //设置大小是为了饼图能在想要的区域中显示},legend: {bottom: "0%",itemStyle: {//图例文字的样式color: "#999",fontSize: 10,},left: "center",itemWidth: 100,// doesn't perfectly work with our tricks, disable itselectedMode: false,data: this.dataList.map((item, index) => {item.icon = "circle";return item;}),},title: {text: "", //图表的标题文字},subtitle: {text: "", //副标题文字},plotOptions: {pie: {allowPointSelect: true, //每个扇块能否选中cursor: "pointer", //鼠标指针size: 150,showInLegend: true, // 是否显示图例depth: 35, //饼图的厚度dataLabels: {enabled: true, //是否显示饼图的线形tipdistance: 30, //设置引导线的长度color: "#999", //全局设置字体颜色style: {textOutline: "none", //去掉文字白边fontSize: "12",},formatter: function () {return this.point.name + this.y + "%";},},},},credits: {enabled: false, //禁用版权url    此处不设置},series: [{type: "pie",name: "", //统一的前置词,非必须data: [{ name: "测试1:", y: 6.3, color: "#388D60" },{ name: "测试2:", y: 2.3, color: "#BEB84C" },{ name: "测试3:", y: 2.3, color: "#3A55B0" },{ name: "测试4:", y: 9.3, color: "#7B40A5" },{ name: "测试5:", y: 0.0, color: "#B76B3D" },],startAngle: 0, //调整饼图的角度   方向:顺时针label: {show: true,position: "outside",formatter: "{b}:{d}%",normal: {show: true,fontSize: 14,formatter: ["  {a|{b}:{d}%}"].join("\n"), //用\n来换行rich: {a: {left: 20,padding: [0, -140, 0, -180], //位置按需要调整},},},},},],});

四、页面调用

import EchartsBtD from "./components/echarts.bt3d.vue";
export default {components: { EchartsBtD },name: "top",data() {return {dataList: [{name: "综掘工作面",y: 25,},{name: "皮带机头",y: 11,},{name: "马头门",y: 22,},{name: "综采工作面",y: 18,},{name: "井底车场",y: 23,},],};},
},
 <EchartsBtD v-if="dataList.length != 0" :dataList="dataList"></EchartsBtD>

五、组件完整代码

<template><div class="echart-bt"><div id="EchartsPie" class="EchartsPie"></div></div>
</template>
<script>
import Highcharts from "highcharts/highcharts";
import highcharts3d from "highcharts/highcharts-3d";
highcharts3d(Highcharts);
export default {props: ["dataList"],data() {return {option: {chart: {type: "pie", //饼图options3d: {enabled: true, //使用3d功能alpha: 70, //延y轴向内的倾斜角度beta: 0,},backgroundColor: "rgba(0, 0, 0, 0)", // 不显示背景色width: 520,height: 220, //设置大小是为了饼图能在想要的区域中显示},legend: {bottom: "0%",itemStyle: {//图例文字的样式color: "#999",fontSize: 10,},left: "center",itemWidth: 100,// doesn't perfectly work with our tricks, disable itselectedMode: false,data: this.dataList.map((item, index) => {item.icon = "circle";return item;}),},title: {text: "", //图表的标题文字},subtitle: {text: "", //副标题文字},plotOptions: {pie: {allowPointSelect: true, //每个扇块能否选中cursor: "pointer", //鼠标指针size: 150,showInLegend: true, // 是否显示图例depth: 35, //饼图的厚度dataLabels: {enabled: true, //是否显示饼图的线形tipdistance: 30, //设置引导线的长度color: "#999", //全局设置字体颜色style: {textOutline: "none", //去掉文字白边fontSize: "12",},formatter: function () {return this.point.name + this.y + "%";},},},},credits: {enabled: false, //禁用版权url    此处不设置},series: [{type: "pie",name: "", //统一的前置词,非必须data: [{ name: "测试1:", y: 6.3, color: "#388D60" },{ name: "测试2:", y: 2.3, color: "#BEB84C" },{ name: "测试3:", y: 2.3, color: "#3A55B0" },{ name: "测试4:", y: 9.3, color: "#7B40A5" },{ name: "测试5:", y: 0.0, color: "#B76B3D" },],startAngle: 0, //调整饼图的角度   方向:顺时针label: {show: true,position: "outside",formatter: "{b}:{d}%",normal: {show: true,fontSize: 14,formatter: ["  {a|{b}:{d}%}"].join("\n"), //用\n来换行rich: {a: {left: 20,padding: [0, -140, 0, -180], //位置按需要调整},},},},},],},};},watch: {},created() {},mounted() {this.option.series[0].data.forEach((item, index) => {item.name = this.dataList[index].name;item.y = this.dataList[index].y;});Highcharts.chart("EchartsPie", this.option);},methods: {},
};
</script> <style scoped>
.EchartsPie {width: 100%;height: 100%;
}
/* 禁止跳转到外部接口 */
::v-deep .highcharts-credits {display: none;
}.echart-bt {width: 100%;height: 300px;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/82211.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多功能翻译工具——图片翻译器

这是一款多功能的翻译工具&#xff0c;简单几步即可完成图片翻译操作&#xff0c;支持多种语言的翻译&#xff0c;包括英语、法语、德语、西班牙语等&#xff0c;并支持文档翻译、pdf翻译、同声传译等形式的翻译功能。可以轻松翻译图片、pdf、execl、txt、word等格式的文档&…

java 企业工程管理系统软件源码+Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis em

​ 鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性&#xff0c;公司对内…

jmeter如何压测和存储

一、存储过程准备&#xff1a; 1、建立一个空表&#xff1a; 1 CREATE TABLE test_data ( id NUMBER, name VARCHAR2(50), age NUMBER ); 2、建立一个存储过程&#xff1a; 1 2 3 4 5 6 7 8 9 CREATE OR REPLACE PROCEDURE insert_test_data (n IN NUMBER) AS BEGIN --E…

代码随想录二刷博客Day3~Day4

707. 设计链表 这道题的解题思路其实就是让我们模拟一个链表的实现&#xff1a; 首先我们先要创建一个内部类作为链表的结点&#xff0c;这个内部类要包含两个元素&#xff0c;一个是val值&#xff0c;一个是指向下一个节点的指针 在构造方法这里我们要初始化一个虚拟头街点…

2023年第三届工业自动化、机器人与控制工程国际会议 | IET独立出版 | EI检索

会议简介 Brief Introduction 2023年第三届工业自动化、机器人与控制工程国际会议&#xff08;IARCE 2023&#xff09; 会议时间&#xff1a;2023年10月27 -30日 召开地点&#xff1a;中国成都 大会官网&#xff1a;www.iarce.org 2023年第三届工业自动化、机器人与控制工程国际…

java泛型和通配符的使用

泛型机制 本质是参数化类型(与方法的形式参数比较&#xff0c;方法是参数化对象)。 优势:将类型检查由运行期提前到编译期。减少了很多错误。 泛型是jdk5.0的新特性。 集合中使用泛型 总结&#xff1a; ① 集合接口或集合类在jdk5.0时都修改为带泛型的结构② 在实例化集合类时…

2023河南萌新联赛第(五)场:郑州轻工业大学--买爱心气球

题目链接&#xff1a;A-买爱心气球_2023河南萌新联赛第&#xff08;五&#xff09;场&#xff1a;郑州轻工业大学 (nowcoder.com) 题目描述 Alice 和 Bob 是一对竞技编程选手&#xff0c;他们路过了一家气球店&#xff0c;发现有 m 个大爱心气球和 n 个小爱心气球。他们决定玩…

SSM个人博客项目

文章目录 SSM个人博客系统实现项目介绍 一、准备工作0. 创建项目添加对应依赖1. 数据库设计2. 定时实体类 二、功能实现1.统一功能处理统一返回格式统一异常处理定义登录拦截器 2. 注册登录实现生成获取验证码密码加盐实现注册功能登录功能注销功能 3.登录用户博客列表获取登录…

clickhouse断电重启故障解决方案

业务场景 公司的一个日志系统用到了clickhouse。一线运维反映说有个生产环境因为异常断电造成服务器重启。在执行日志系统的启动脚本时&#xff0c;一直报clickhouse启动不起来&#xff0c;日志系统无法使用。 问题排查 通过阅读启动脚本代码&#xff0c;以及启动日志系统&a…

Android 项目导入高德SDK初次上手

文章目录 一、前置知识&#xff1a;二、学习目标三、学习资料四、操作过程1、创建空项目2、高德 SDK 环境接入2.1 获取高德 key2.2下载 SDK 并导入2.2.1、下载SDK 文件2.2.2、SDK 导入项目2.2.3、清单文件配置2.2.4、隐私权限 3、显示地图 一、前置知识&#xff1a; 1、Java 基…

关于在c++中使用数组名作为函数参数,或者使用数组名的地址作为函数参数问题的一些研究

前言 使用数组名作为函数参数&#xff0c;或者使用数组名的地址作为函数参数&#xff0c;常常出现于对于字符串的读入问题之中。 常有以下两种写法&#xff1a; 这是使用数组名作为函数参数 #include<cstdio> char s[100]; int main() {scanf("%s",s); }在…

【如何构建自己的基于Arduino的Scara 机器人】

【如何构建自己的基于Arduino的Scara 机器人】 1. 概述2. Scara机器人3D模型3. 3D打印机器人零件4. 组装机器人5. SCARA机器人电路图6. 完成装配7. SCARA机器人的工作原理8. 对 SCARA 机器人进行编程 – Arduino 和处理代码9. 总结在本教程中,我们将学习如何构建基于 Arduino …

导出LLaMA ChatGlm2等LLM模型为onnx

通过onnx模型可以在支持onnx推理的推理引擎上进行推理&#xff0c;从而可以将LLM部署在更加广泛的平台上面。此外还可以具有避免pytorch依赖&#xff0c;获得更好的性能等优势。 这篇博客&#xff08;大模型LLaMa及周边项目&#xff08;二&#xff09; - 知乎&#xff09;进行…

leetcode 399-除法求值

法一&#xff1a;并查集 分析示例1&#xff1a; a / b 2.0 a/ b 2.0 a/b2.0&#xff0c;说明 a 2 b a2b a2b&#xff0c; a a a和 b b b在同一个集合中 b / c 3.0 b/c3.0 b/c3.0&#xff0c;说明 b 3 c b3c b3c&#xff0c; b b b和 c c c在同一个集合中 求 a / c a/…

微服务——ES实现自动补全

效果展示 在搜索框根据拼音首字母进行提示 拼音分词器 和IK中文分词器一样的用法&#xff0c;按照下面的顺序执行。 # 进入容器内部 docker exec -it elasticsearch /bin/bash# 在线下载并安装 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch…

【C++】红黑树的原理与实现

文章目录 一、引言 二、红黑树的概念与性质 2、1 红黑树的概念 2、2 红黑树的性质 三、红黑树的定义与实现 3、1 红黑树的定义 3、2 插入新节点 3、2、1 默认插入红色节点 3、3 插入情况分类 3、3、1 情况一&#xff08;根据颜色向上调整&#xff09; 3、3、2 情况二&#xff0…

AIGC技术到底是什么?为什么这么火热?

AIGC技术到底是什么&#xff1f;为什么这么火热&#xff1f; ALCG技术到底是什么&#xff1f;AIGC技术的发展史AIGC技术特点AIGC技术主要用途ALGC技术未来发展 ALCG技术到底是什么&#xff1f; AIGC&#xff08;Artificial Intelligence in Game Creation&#xff09;技术是指…

OpenLayers实战,OpenLayers实现气象台风飓风运动轨迹运动动画,可调台风旋转速度和运动速度,静态图片旋转动画

专栏目录: OpenLayers实战进阶专栏目录 前言 本章使用OpenLayers实现气象中常用的台风或者飓风运动轨迹动画,支持调整台风图标旋转速度和运动速度。 不同的台风可以设置不同的运动速度和旋转速度,也可以通过变量控制图片不旋转。 本章图片使用静态png图片,并非gif动态图。…

中间件多版本冲突的4种解决方案和我们的选择

背景 在小小的公司里面&#xff0c;挖呀挖呀挖。最近又挖到坑里去了。一个稳定运行多年的应用&#xff0c;需要在里面支持多个版本的中间件客户端&#xff1b;而多个版本的客户端在一个应用里运行时会有同名类冲突的矛盾。在经过询问chatGPT&#xff0c;百度&#xff0c;googl…

在Python中定义Main函数

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 许多编程语言都有一个特殊的函数&#xff0c;当操作系统开始运行程序时会自动执行该函数。 这个函数通常被命名为main()&#xff0c;并且依据语言标准具有特定的返回类型和参数。 另一方面&#xff0c;Python解释器从文件…