效果图如下

 代码如下

data = [
{
name: "经济目的",
value: 754,
},
{
name: "网络安全爱好者",
value: 611,
},
{
name: "数据窃取",
value: 400,
},
{
name: "炫技",
value: 200,
},
{
name: "国家对抗",
value: 400,
},
{
name: "其他",
value: 200,
},
];
arrName = getArrayValue(data, "name");
arrValue = getArrayValue(data, "value");
sumValue = 1000;
objData = array2obj(data, "name");
optionData = getData(data); function getArrayValue(array, key) {
var key = key || "value";
var res = [];
if (array) {
array.forEach(function (t) {
res.push(t[key]);
});
}
return res;
} function array2obj(array, key) {
var resObj = {};
for (var i = 0; i < array.length; i++) {
resObj[array[i][key]] = array[i];
}
return resObj;
} function getData(data) {
var res = {
series: [ ],
yAxis: [],
};
for (let i = 0; i < data.length; i++) {
res.series.push({
name: "学历",
type: "pie",
clockWise: false, //逆时针
z: 2,
hoverAnimation: false,
radius: [73 - i * 15 + "%", 68 - i * 15 + "%"],
center: ["50%", "55%"],
label: {
show: false,
formatter: "{d}%",
color: "RGB(246,175,101)",
fontSize: 25,
position: "inside",
},
labelLine: {
show: false,
},
data: [
{
value: data[i].value,
name: data[i].name,
},
{
value: sumValue - data[i].value,
name: "",
itemStyle: {
color: "rgba(0,0,0,0)",
borderWidth: 0,
},
tooltip: {
show: false,
},
label: {
show: false,
},
hoverAnimation: false,
},
],
});
res.series.push({
name: "背景线",
type: "pie",
silent: true,
z: 1,
clockWise: false, //逆时针
hoverAnimation: false,
radius: [71 - i * 15 + "%", 69 - i * 15 + "%"],
center: ["50%", "55%"],
label: {
show: false,
},
itemStyle: {
label: {
show: false,
},
labelLine: {
show: false,
},
borderWidth: 5,
},
data: [
{
value: 100,
itemStyle: {
color: "RGB(12,64,128)",
borderWidth: 0,
},
tooltip: {
show: false,
},
hoverAnimation: false,
},
],
});
res.yAxis.push(data[i].name);
}
return res;
} option = {
backgroundColor: "RGB(8,20,67)",
color: [
{
type: "linear",
x: 0,
y: 0,
x2: 1,
y2: 1,
colorStops: [
{
offset: 0,
color: "rgba(47,110,227,1)",
},
{
offset: 1,
color: "rgba(47,110,227,1)",
},
],
global: false,
},
{
type: "linear",
x: 0,
y: 0,
x2: 1,
y2: 1,
colorStops: [
{
offset: 0,
color: "rgba(14,193,186,1)",
},
{
offset: 1,
color: "rgba(14,193,186,1)",
},
],
global: false,
},
{
type: "linear",
x: 0,
y: 0,
x2: 1,
y2: 1,
colorStops: [
{
offset: 0,
color: "rgba(134,208,158,1)",
},
{
offset: 1,
color: "rgba(134,208,158,1)",
},
],
global: false,
},
{
type: "linear",
x: 0,
y: 0,
x2: 1,
y2: 1,
colorStops: [
{
offset: 0,
color: "rgba(223,182,39,1)",
},
{
offset: 1,
color: "rgba(223,182,39,1)",
},
],
global: false,
},
{
type: "linear",
x: 0,
y: 0,
x2: 1,
y2: 1,
colorStops: [
{
offset: 0,
color: "rgba(224,95,97,1)",
},
{
offset: 1,
color: "rgba(224,95,97,1)",
},
],
global: false,
},
],
grid: {
top: "16%",
bottom: "54%",
left: "50%",
containLabel: false,
},
yAxis: [
{
type: "category",
inverse: true,
z: 3,
axisLine: {
show: false,
},
axisTick: {
show: false,
},
axisLabel: {
interval: 0,
inside: false,
textStyle: {
color: "RGB(78,184,252)",
fontSize: 25,
},
show: false,
},
data: optionData.yAxis,
},
],
xAxis: [
{
show: false,
},
],
series: optionData.series,
};

最新文章

  1. Linux设置交换分区swap
  2. jQuery文字特效制作文字鼠标滑过多彩色变色显示
  3. Stencil Buffer
  4. RHEL 安装gcc 艰难历程
  5. Labview中局部变量和全局变量
  6. Combination Sum —— LeetCode
  7. 使用SLT 工具从SAP导入数据到SAP HANA的监控
  8. Python数据分析与可视化(经典学习资料)
  9. SQLserver 获取当前时间
  10. webpack优化
  11. java 虚拟机内存划分,类加载过程以及对象的初始化
  12. oracle大数据量更新引发的死锁问题解决方法及oracle分区和存储过程的思考
  13. EF 事务(非分布式事务)
  14. java.util.HashMap的简单介绍
  15. nginx调优操作之nginx隐藏其版本号
  16. Oracle数据库查看SID和service_name
  17. dat.gui 上手
  18. 以太坊go-ethereum客户端docker安装(一)
  19. Preparing Olympiad---cf550B(DFS或者状态压缩模板)
  20. 自学数据库建模工具--powerdesigner

热门文章

  1. java8新特性学习笔记
  2. [OpenCV实战]34 使用OpenCV进行图像修复
  3. [编程基础] Python配置文件读取库ConfigParser总结
  4. 小样本利器5. 半监督集各家所长:MixMatch,MixText,UDA,FixMatch
  5. MongoDB6.0的安装「2023年」
  6. C# 10 Lambda 语法的改进
  7. 《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法
  8. HashSet集合存储数据的结构(哈希表)-Set集合存储元素不重复的原理
  9. Vue项目 invalid host header 问题 配置 disableHostCheck:true报错
  10. 【分析笔记】Linux I2C-Tools 使用踩坑笔记