ECharts饼图(环形):如何展示数据占比和结构变化

echarts饼图(环形):如何展示数据占比和结构变化

ECharts饼图(环形):如何展示数据占比和结构变化

ECharts是一款基于JavaScript的数据可视化库,它提供了多种图表类型,包括折线图、柱状图、散点图、地图等。其中,饼图是一种常用的图表类型,可以用于展示数据的占比和结构变化。本文将介绍如何使用ECharts饼图来展示数据占比和结构变化,并提供具体的代码示例。

一、数据格式

在使用ECharts饼图之前,需要准备好数据,并将数据格式转换为ECharts所需的格式。在饼图中,数据格式通常采用以下方式:

data:[  {name:'数据1',value:100},  {name:'数据2',value:200},  {name:'数据3',value:300},  {name:'数据4',value:400}]

其中,name表示数据的名称,value表示数据的值。需要注意的是,数据中的value值一般是数值型的,如果是字符串型的话需要使用parseInt()或parseFloat()进行转换。

二、基本饼图

下面演示如何使用ECharts绘制基本的饼图。首先需要引入ECharts库和主题,创建一个DOM元素用于显示图表,并初始化一个ECharts实例。然后,设置饼图的基本配置,包括标题、图例、颜色等。最后,将数据传入到饼图中进行渲染。

HTML代码:

JavaScript代码:

// 引入ECharts库和主题// 创建一个DOM元素用于显示图表var chart1 = echarts.init(document.getElementById('pie1'),'macarons');// 设置饼图的基本配置var option1 = {  title: {    text: '基本饼图示例',    subtext: '数据来自Demo',    x: 'center'  },  tooltip: {    trigger: 'item',    formatter: "{a} 
{b}: {c} ({d}%)" }, legend: { orient: 'vertical', left: 'left', data:['数据1','数据2','数据3','数据4'] }, series: [ { name:'饼图', type:'pie', radius: ['50%', '70%'], avoidLabelOverlap: false, label: { normal: { show: false, position: 'center' }, emphasis: { show: true, textStyle: { fontSize: '30', fontWeight: 'bold' } } }, labelLine: { normal: { show: false } }, data:[ {value:100, name:'数据1'}, {value:200, name:'数据2'}, {value:300, name:'数据3'}, {value:400, name:'数据4'} ], itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ]};// 将数据传入到饼图中进行渲染chart1.setOption(option1);

上面的代码中,设置了图表标题、数据提示、图例、饼图半径、数据等。该饼图的效果如下图所示:

ECharts饼图(环形):如何展示数据占比和结构变化

三、环形饼图

环形饼图是基本饼图的一种变体,它可以将饼图中心部分挖空,形成一个环形的图形。在ECharts中,可以设置饼图的innerRadius属性来实现这一效果。下面的示例展示如何使用ECharts绘制环形饼图。

图像转图像AI 图像转图像AI

利用AI轻松变形、风格化和重绘任何图像

图像转图像AI 65 查看详情 图像转图像AI

HTML代码:

JavaScript代码:

// 创建一个DOM元素用于显示图表var chart2 = echarts.init(document.getElementById('pie2'),'macarons');// 设置饼图的基本配置var option2 = {  title: {    text: '环形饼图示例',    subtext: '数据来自Demo',    x: 'center'  },  tooltip: {    trigger: 'item',    formatter: "{a} 
{b}: {c} ({d}%)" }, legend: { orient: 'vertical', left: 'left', data:['数据1','数据2','数据3','数据4'] }, series: [ { name:'饼图', type:'pie', radius: ['50%', '70%'], avoidLabelOverlap: false, label: { normal: { show: false, position: 'center' }, emphasis: { show: true, textStyle: { fontSize: '30', fontWeight: 'bold' } } }, labelLine: { normal: { show: false } }, data:[ {value:100, name:'数据1'}, {value:200, name:'数据2'}, {value:300, name:'数据3'}, {value:400, name:'数据4'} ], itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } }, // 设置内半径 innerRadius:'50%' } ]};// 将数据传入到饼图中进行渲染chart2.setOption(option2);

上述代码与基本饼图的代码几乎相同,只是在series中设置了innerRadius属性。该环形饼图的效果如下图所示:

ECharts饼图(环形):如何展示数据占比和结构变化

四、数据结构变化

饼图除了可以展示数据的占比,还可以用于展示数据结构的变化。在ECharts中,可以通过对数据的修改和重新渲染来实现这一效果。下面的示例演示了如何在饼图中对数据进行操作,完成数据结构变化的效果展示。

HTML代码:

JavaScript代码:

// 数据源var data1 = [  {value:100, name:'数据1'},  {value:200, name:'数据2'},  {value:300, name:'数据3'},  {value:400, name:'数据4'}];var data2 = [  {value:450, name:'数据5'},  {value:250, name:'数据6'},  {value:200, name:'数据7'},  {value:150, name:'数据8'}];// 创建一个DOM元素用于显示图表var chart3 = echarts.init(document.getElementById('pie3'),'macarons');// 设置饼图的基本配置var option3 = {  title: {    text: '数据结构变化示例',    subtext: '数据来自Demo',    x: 'center'  },  tooltip: {    trigger: 'item',    formatter: "{a} 
{b}: {c} ({d}%)" }, legend: { orient: 'vertical', left: 'left', data:['数据1','数据2','数据3','数据4'] }, series: [ { name:'饼图', type:'pie', radius: ['50%', '70%'], avoidLabelOverlap: false, label: { normal: { show: false, position: 'center' }, emphasis: { show: true, textStyle: { fontSize: '30', fontWeight: 'bold' } } }, labelLine: { normal: { show: false } }, data:data1, itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } }, innerRadius:'50%' } ]};// 将数据1传入到饼图中进行渲染chart3.setOption(option3);// 点击事件chart3.on('click', function (params) { // alert(params.name); if(params.name=='数据1'){ option3.legend.data = ['数据5','数据6','数据7','数据8']; option3.series[0].data = data2; }else{ option3.legend.data = ['数据1','数据2','数据3','数据4']; option3.series[0].data = data1; } chart3.setOption(option3);});

上述代码中,我们定义了两个数据源data1和data2,它们分别表示两个不同的数据结构。在饼图中设置了一个点击事件,当点击饼图时,会根据点击的数据名称进行判断,如果点击的是data1中的数据1,则将legend和series中的数据修改为data2数据结构,否则将其修改为data1数据结构。最后,调用setOption()方法将修改后的图表重新渲染。该数据结构变化的效果如下图所示:

ECharts饼图(环形):如何展示数据占比和结构变化

综上,本文介绍了如何使用ECharts绘制饼图,并提供了具体的代码示例。除了基本饼图和环形饼图之外,还演示了如何在饼图中对数据进行操作,完成数据结构变化的效果展示。读者可以根据自己的需求和数据格式,进行相应的修改和优化。

以上就是ECharts饼图(环形):如何展示数据占比和结构变化的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/508907.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 23:48:16
下一篇 2025年11月8日 23:49:34

相关推荐

  • 如何在HTML中插入图表数据_HTML Canvas与第三方图表库集成方法

    答案:HTML中展示图表常用Canvas结合JavaScript绘制基础图形,或集成Chart.js、ECharts等库实现复杂可视化。使用Canvas可定制简单图表,但开发成本高;Chart.js基于Canvas,支持多种响应式、交互式图表,配置灵活;ECharts功能强大,适用于大数据量、高交互…

    2025年12月23日
    000
  • HTML数据怎样进行情感分析 HTML数据情感挖掘的实现路径

    答案是:从HTML中提取有效文本并进行情感分析需先清理标签获取正文,再经文本预处理、分词与去噪后,应用词典、机器学习或深度学习模型判断情感倾向,最终整合结果并可视化,实现舆情监控与评价分析。 对HTML数据进行情感分析,核心在于从网页内容中提取有效文本,并在此基础上应用自然语言处理技术判断情感倾向。…

    2025年12月23日
    000
  • 如何通过HTML在线展示数据_HTML在线数据展示实现与可视化方案

    网页展示数据需结合HTML、CSS与JavaScript,首选table展示结构化数据,配合Chart.js等库实现可视化图表,通过fetch加载远程JSON动态渲染内容,并利用响应式设计与交互优化提升用户体验。 在网页中展示数据,核心是将结构化信息清晰、直观地呈现给用户。HTML本身是内容载体,结…

    2025年12月23日
    000
  • 如何利用HTML在线生成图表_HTML在线图表生成方法与数据可视化实现

    使用Chart.js、Google Charts和ECharts结合HTML可实现数据可视化。1. Chart.js通过canvas绘制响应式图表,需引入库、创建canvas容器并用JavaScript配置数据;2. Google Charts支持复杂图表类型,需加载库、设置回调函数、定义数据与选项…

    2025年12月23日
    000
  • Recharts 柱状图按数据项动态着色:cells 属性的正确用法

    本文将深入探讨在使用 Recharts 库创建柱状图时,如何为不同的数据项动态设置各自的颜色,解决所有柱子颜色统一的常见问题。通过对比 Bar 组件中 fill 属性的局限性与 cells 属性的强大功能,提供清晰的解决方案和代码示例,帮助开发者实现更具表现力的 数据可视化。 Recharts 柱状…

    2025年12月22日
    000
  • Recharts条形图动态颜色配置指南:解决多条柱颜色统一问题

    本文旨在解决使用Recharts库创建条形图时,多条柱无法显示不同颜色的常见问题。通过深入分析Bar组件的fill属性与cells属性的区别,我们将展示如何利用cells属性为每个数据点动态指定颜色,从而实现条形图的个性化视觉呈现。本教程将提供详细的代码示例和注意事项,帮助开发者准确有效地配置Rec…

    2025年12月22日
    000
  • Recharts条形图颜色自定义:解决多条柱颜色显示异常问题

    本文旨在解决Recharts库中绘制多条形图时,无法为不同数据点正确设置独立颜色的问题。通过分析常见的错误用法——将颜色映射数组直接赋给Bar组件的fill属性,导致所有条形显示为黑色,进而详细阐述并演示了如何利用Bar组件的cells属性,为每个独立的条形动态指定颜色,确保图表视觉效果符合预期。 …

    2025年12月22日
    000
  • HTML如何制作饼图?百分比环形图怎么画?

    html本身不能直接绘制饼图或环形图,必须借助svg或canvas并结合javascript实现;1. 使用svg时通过绘制扇形、挖空中心,并用javascript动态计算角度与路径;2. 手动计算路径复杂,实际开发中推荐使用chart.js、echarts等库,它们封装了绘图逻辑,提供交互、动画和…

    2025年12月22日
    000
  • 使用html5 canvas封装一个echarts实现不了的饼图

    这篇文章主要介绍了html5 canvas简单封装一个echarts实现不了的饼图的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 说明 我用echars很久了,如果出现如上图所示样式的饼图,我用echarts很难实现,官方给的文档没有这种模式的饼图。试过用d3…

    2025年12月21日
    000
  • JavaScript如何实现数据可视化?

    JavaScript数据可视化核心是选用成熟图表库(如Chart.js、D3.js、ECharts、Plotly.js)将规范数据渲染为图形,需准备结构化数据、配置选项、嵌入网页,并注意响应式、交互及数据校验。 JavaScript 实现数据可视化,核心是借助成熟的图表库将结构化数据转化为图形界面,…

    2025年12月21日
    000
  • javascript如何实现图表绘制_有哪些流行的图表库可以选择?

    JavaScript图表绘制有三大路径:Chart.js适合快速开发常规图表;D3.js支持深度定制复杂可视化;原生Canvas/SVG适用于极简或定制化需求,各方案依项目效率、自由度与交互要求选择。 JavaScript 实现图表绘制主要有两种路径:一种是借助成熟图表库快速生成,另一种是用原生 A…

    2025年12月21日
    000
  • javascript如何实现数据可视化_Chart.js和D3.js哪个更强大?

    Chart.js适合快速生成标准图表,D3.js适合高度定制化可视化;前者开箱即用、学习成本低,后者灵活度高、需掌握底层概念;选择取决于需求复杂度与团队能力。 Chart.js 和 D3.js 不是同一类工具,不能简单比“谁更强大”,关键看你要做什么:Chart.js 适合快速画常见图表,D3.js…

    2025年12月21日
    000
  • javascript如何实现惰性加载?_javascript的性能优化有哪些方法?

    JavaScript惰性加载本质是按需加载,核心策略包括:用Intersection Observer实现可视区懒加载、dynamic import()实现代码分割、loading=”lazy”等原生属性及事件委托等技巧,配合性能优化实践提升首屏速度。 JavaScript …

    2025年12月21日
    000
  • JavaScript如何实现数据可视化图表?

    JavaScript数据可视化核心是选用Chart.js、ECharts或ApexCharts等成熟库,规范准备labels与datasets数据,通过canvas容器初始化配置并调用update实现动态交互。 JavaScript 实现数据可视化图表,核心是借助成熟的图表库将结构化数据转化为直观的…

    2025年12月21日
    000
  • 可视化图表制作_javascript数据展示

    答案是使用JavaScript库如Chart.js、D3.js和ECharts可实现交互式数据可视化;其中Chart.js适合快速集成常见图表,D3.js适用于高度自定义的复杂图形,ECharts支持高级图表且中文文档完善;以Chart.js创建柱状图需引入库、添加canvas容器并初始化Chart…

    2025年12月21日
    000
  • javascript_如何实现数据可视化

    JavaScript实现数据可视化需将数据转为图形,常用Chart.js、D3.js等库快速构建图表,或用Canvas/SVG原生绘图;通过fetch获取数据并动态更新视图,如Chart.js调用update()刷新,最终实现交互式可视化。 JavaScript 实现数据可视化,核心是将数据转换成图…

    2025年12月21日
    000
  • JavaScript数据可视化_javascript图表库

    根据项目需求选择合适的JavaScript图表库:Chart.js适合快速实现基础图表,D3.js适用于高度定制化场景,ECharts在中文环境和大数据量下表现优异,Highcharts适合企业级应用,ApexCharts具备现代设计且兼容主流框架;性能方面需关注渲染机制与数据规模的匹配,建议通过小…

    2025年12月21日
    000
  • JavaScript可视化图表_javascript数据展示

    选对工具是JavaScript数据可视化的关键。ECharts功能全面,适合复杂场景,支持丰富图表类型与交互,尤其适用于地图、时间轴及大数据量项目,配置清晰且中文文档完善;Chart.js轻量易用,基于Canvas渲染,语法简洁、响应式设计,适合基础图表如折线图、饼图,广泛用于中小型项目或后台面板;…

    2025年12月21日
    000
  • ECharts 自定义图标样式指南:灵活控制填充与边框色

    本文详细介绍了在 echarts 中为自定义图标(如数据区域缩放工具)设置填充色和边框色的正确方法。不同于直接修改 svg 路径中的 `fill` 属性,echarts 推荐通过 `iconstyle` 配置项中的 `color` 和 `bordercolor` 属性来统一管理图标样式,从而实现更灵…

    2025年12月21日
    000
  • ECharts 中自定义工具箱图标的样式控制:iconStyle 属性详解

    在 echarts 中,为工具箱(toolbox)功能(如 `datazoom`)自定义图标时,其填充色和边框颜色应通过 `iconstyle` 属性进行配置,而非直接修改 svg 路径的 `fill` 属性。`iconstyle` 中的 `color` 属性用于设置填充色,`bordercolor…

    2025年12月21日
    000

发表回复

登录后才能评论
关注微信