当前位置: 首页 > news >正文

西安学建网站永久免费二级域名申请

西安学建网站,永久免费二级域名申请,网站建设执行风险,平台免费推广在数据可视化领域,环形图是一种非常有效的图表类型,它能够清晰地展示各部分与整体的关系。今天,我们将通过ECharts来创建一个带百分比标注的环形图,并详细解释如何实现这一效果。 1. 数据准备 首先,我们定义了一些基础…

在数据可视化领域,环形图是一种非常有效的图表类型,它能够清晰地展示各部分与整体的关系。今天,我们将通过ECharts来创建一个带百分比标注的环形图,并详细解释如何实现这一效果。

1. 数据准备

首先,我们定义了一些基础数据:

  • dashedPic:一个base64编码的图片,用作Y轴标签的背景。
  • color:一个颜色数组,用于环形图各部分的填充颜色。
  • chartData:包含活动名称、价值和单位的对象数组。

2. 数据处理

接下来,我们对chartData进行处理,提取名称和值,并计算总和价值:

chartData.forEach((v, i) => {arrName.push(v.name);arrValue.push(v.value);sum = sum + v.value;
})

3. 构建环形图系列

我们使用双重循环来构建环形图的系列,每个活动对应两个环形图系列,一个用于显示实际数据,另一个用于创建间隔效果:

chartData.forEach((v, i) => {pieSeries.push({name: '课外活动',type: 'pie',clockWise: false,hoverAnimation: false,radius: [65 - i * 15 + '%', 57 - i * 15 + '%'],center: ["30%", "50%"],label: {show: false},data: [{value: v.value,name: v.name}, {value: sum - v.value,name: '',itemStyle: {color: "rgba(0,0,0,0)"}}]});pieSeries.push({name: '',type: 'pie',silent: true,z: 1,clockWise: false, //顺时加载hoverAnimation: false, //鼠标移入变大radius: [65 - i * 15 + '%',57 - i * 15 + '%'],center: ["30%", "50%"],label: {show: false},data: [{value: 7.5,itemStyle: {color: "#E3F0FF"}}, {value: 2.5,name: '',itemStyle: {color: "rgba(0,0,0,0)"}}]});
})

每个系列都设置了radiuscenter属性来定义环形的大小和位置,并且通过data属性来绑定具体的数据。

4. 百分比和Y轴标签

我们为每个活动计算百分比,并创建Y轴标签:

v.percent = (v.value / sum * 100).toFixed(1) + "%";
lineYAxis.push({value: i,textStyle: {rich: {circle: {color: color[i],padding: [0, 5]}}}
});

5. 完整的ECharts配置

最后,我们将所有配置整合到ECharts的option对象中:

let dashedPic = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM8AAAAOBAMAAAB6G1V9AAAAD1BMVEXKysrk5OTj4+TJycoJ0iFPAAAAG0lEQVQ4y2MYBaNgGAMTQQVFOiABhlEwCugOAMqzCykGOeENAAAAAElFTkSuQmCC';
let color = ['#FCC667', '#8693F3', '#89C3F8', '#F2A695'];
let chartData = [{name: "剪纸",value: 132,unit: '间'},{name: "篮球",value: 421,unit: '人'},{name: "声乐",value: 817,unit: '人'},{name: "舞蹈",value: 121,unit: '人'}
];
let arrName = [];
let arrValue = [];
let sum = 0;
let pieSeries = [],lineYAxis = [];// 数据处理
chartData.forEach((v, i) => {arrName.push(v.name);arrValue.push(v.value);sum = sum + v.value;
})// 图表option整理
chartData.forEach((v, i) => {pieSeries.push({name: '课外活动',type: 'pie',clockWise: false,hoverAnimation: false,radius: [65 - i * 15 + '%', 57 - i * 15 + '%'],center: ["30%", "50%"],label: {show: false},data: [{value: v.value,name: v.name}, {value: sum - v.value,name: '',itemStyle: {color: "rgba(0,0,0,0)"}}]});pieSeries.push({name: '',type: 'pie',silent: true,z: 1,clockWise: false, //顺时加载hoverAnimation: false, //鼠标移入变大radius: [65 - i * 15 + '%',57 - i * 15 + '%'],center: ["30%", "50%"],label: {show: false},data: [{value: 7.5,itemStyle: {color: "#E3F0FF"}}, {value: 2.5,name: '',itemStyle: {color: "rgba(0,0,0,0)"}}]});v.percent = (v.value / sum * 100).toFixed(1) + "%";lineYAxis.push({value: i,textStyle: {rich: {circle: {color: color[i],padding: [0, 5]}}}});
})option = {backgroundColor: '#0A2E5D',title: {text: '学生课外选修情况',textAlign: "center",left: "49%",textStyle: {color: '#fff',fontSize: 22,fontWeight: '400'}},color: color,grid: {top: '15%',bottom: '54%',left: "30%",containLabel: false},yAxis: [{type: 'category',inverse: true,axisLine: {show: false},axisTick: {show: false},axisLabel: {formatter: function(params) {let item = chartData[params];console.log(item)return '{line|}{circle|●}{name|'+ item.name +'}{bd||}{percent|'+item.percent+'}{value|'+ item.value+'}{unit|人}'},interval: 0,inside: true,textStyle: {color: "#333",fontSize: 14,rich: {line: {width: 170,height: 10,backgroundColor: {image: dashedPic}},name: {color: 'white',fontSize: 14,},bd: {color: 'white',padding: [0, 5],fontSize: 14,},percent:{color: 'white',fontSize: 14,},value: {color: 'white',fontSize: 16,fontWeight: 500,padding: [0, 0, 0, 20]},unit: {fontSize: 14}}},show: true},data: lineYAxis}],xAxis: [{show: false}],series: pieSeries
};

6. 应用配置

将配置应用到ECharts实例上,就可以看到最终的环形图效果:

myChart.setOption(option);

7. 总结

通过以上步骤,我们创建了一个带百分比标注的环形图,它不仅展示了各部分的比例关系,还通过Y轴标签提供了更详细的信息。这种图表非常适合展示分类数据的比例和分布情况。你可以根据自己的需求调整颜色、大小和样式,以达到最佳的展示效果。希望这篇文章能够帮助你掌握ECharts环形图的创建技巧,为你的数据可视化项目增添亮点。如果有任何问题,欢迎在评论区交流。

 

 

 

 

 

 

 

 

http://www.dt0577.cn/news/31042.html

相关文章:

  • 网站建设维护google搜索引擎入口网址
  • wordpress首页设计什么是seo网站优化
  • 免费申请网站官网百度联盟怎么赚钱
  • 外贸有限公司英文网站企业网站营销实现方式解读
  • 咸阳城乡建设局网站武汉关键词排名推广
  • 公众号如何做微网站东莞外贸推广公司
  • 网站收藏的链接怎么做的好f123网站
  • 798艺术区个人拍照图片及价格搜索引擎优化的基本手段
  • 做众筹网站有哪些关联词有哪些四年级
  • 美食网站建设多少钱竞价托管哪家公司好
  • 跨专业的简历怎么制作网络优化公司哪家好
  • 网站建设公司如何运营新媒体运营岗位职责
  • 专业建设要素搜索引擎优化实训心得
  • html5高端装修公司网站源码个人网页制作成品欣赏
  • 涿州做网站seo企业顾问
  • 网站开发的价格电商网页
  • 摄影网站源码steam交易链接在哪
  • 广告传媒公司网站怎么做百度seo标题优化软件
  • 自学网页设计教程浙江seo
  • 可以做网站的魔盒网站建设策划书案例
  • 个人旅游网站模板今日国际新闻头条新闻
  • 深圳网站建设制作网络公司手游推广平台哪个好
  • 湛江有那些网站制作公司最近新闻热点事件
  • 封丘县建站塔山双喜b2b免费推广平台
  • 域名做好了怎么做网站内容自媒体推广平台
  • 辽源做网站公司廊坊seo排名霸屏
  • 奢侈品电商网站首页设计seo是什么车
  • wordpress 仿quora网站seo优化皆宣徐州百都网络不错
  • 陕西专业网站开发多少钱百度首页快速排名系统
  • 杭州做网站的网络公司有哪些交换友情链接的注意事项