多个pie环形图 逆时针旋转
2024-10-20 15:47:26
效果图如下
代码如下
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,
};
最新文章
- Linux设置交换分区swap
- jQuery文字特效制作文字鼠标滑过多彩色变色显示
- Stencil Buffer
- RHEL 安装gcc 艰难历程
- Labview中局部变量和全局变量
- Combination Sum —— LeetCode
- 使用SLT 工具从SAP导入数据到SAP HANA的监控
- Python数据分析与可视化(经典学习资料)
- SQLserver 获取当前时间
- webpack优化
- java 虚拟机内存划分,类加载过程以及对象的初始化
- oracle大数据量更新引发的死锁问题解决方法及oracle分区和存储过程的思考
- EF 事务(非分布式事务)
- java.util.HashMap的简单介绍
- nginx调优操作之nginx隐藏其版本号
- Oracle数据库查看SID和service_name
- dat.gui 上手
- 以太坊go-ethereum客户端docker安装(一)
- Preparing Olympiad---cf550B(DFS或者状态压缩模板)
- 自学数据库建模工具--powerdesigner
热门文章
- java8新特性学习笔记
- [OpenCV实战]34 使用OpenCV进行图像修复
- [编程基础] Python配置文件读取库ConfigParser总结
- 小样本利器5. 半监督集各家所长:MixMatch,MixText,UDA,FixMatch
- MongoDB6.0的安装「2023年」
- C# 10 Lambda 语法的改进
- 《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法
- HashSet集合存储数据的结构(哈希表)-Set集合存储元素不重复的原理
- Vue项目 invalid host header 问题 配置 disableHostCheck:true报错
- 【分析笔记】Linux I2C-Tools 使用踩坑笔记