热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ECharts图表绘制函数集

本文档提供了使用ECharts库创建柱状图、饼图和双折线图的JavaScript函数。每个函数都详细列出了参数说明,并通过示例展示了如何调用这些函数以生成不同类型的图表。


/*** 创建柱状图* @param container 容器ID* @param colors 颜色数组,用于图表系列及图例* @param titleName 图表标题* @param legendData 图例数据* @param xAxisData X轴数据* @param seriesData 系列数据*/function createBarChart(container, colors, titleName, legendData, xAxisData, seriesData) {let chartInstance = echarts.init(document.getElementById(container));let chartOptiOns= {title: {text: titleName, left: 'center', textStyle: {color: 'white', fontSize: 12}},color: colors,tooltip: {},legend: {top: '15%', data: legendData, textStyle: {color: '#fff', fontSize: 10}},grid: {left: '4%', right: '4%', bottom: '3%', containLabel: true},xAxis: {type: 'category', data: xAxisData, axisLabel: {color: '#ffffff'}, axisLine: {onZero: false, lineStyle: {color: '#51fefe', width: 2, type: 'solid'}}},yAxis: {type: 'value', boundaryGap: [0, 0.01], axisLabel: {color: '#ffffff'}, axisLine: {show: false}, splitLine: {show: true, lineStyle: {color: '#51fefe', width: 1, type: 'solid'}}},series: seriesData};chartInstance.setOption(chartOptions, true);window.addEventListener('resize', () => chartInstance.resize(), false);}/*** 创建饼图* @param container 容器ID* @param titleName 图表标题* @param legendData 图例数据* @param seriesData 系列数据* @param colorList 颜色数组*/function createPieChart(container, titleName, legendData, seriesData, colorList) {let chartInstance = echarts.init(document.getElementById(container));let chartOptiOns= {title: {text: titleName, left: 'center', textStyle: {color: 'white', fontSize: 12}},tooltip: {trigger: 'item', formatter: '{b} : {d}%', confine: true},legend: {orient: 'horizontal', left: 'right', top: 'auto', icon: 'circle', textStyle: {color: '#fff', fontSize: 10}, data: legendData},series: [{type: 'pie', radius: '65%', center: ['50%', '50%'], data: seriesData, itemStyle: {color: function(params) {return colorList[params.dataIndex];}}}]};chartInstance.setOption(chartOptions, true);window.addEventListener('resize', () => chartInstance.resize(), false);}/*** 创建双折线图* @param container 容器ID* @param titleName 图表标题* @param xData X轴数据* @param seriesNameOne 第一条折线名称* @param seriesDataOne 第一条折线数据* @param seriesNameTwo 第二条折线名称* @param seriesDataTwo 第二条折线数据* @param yAxisName Y轴名称* @param legendNames 图例名称数组* @param colorArray 颜色数组* @param yNumData Y轴刻度设置数组*/function createDualLineChart(container, titleName, xData, seriesNameOne, seriesDataOne, seriesNameTwo, seriesDataTwo, yAxisName, legendNames, colorArray, yNumData) {let dualLineInstance = echarts.init(document.getElementById(container));let dualLineOptiOns= {legend: {data: legendNames, color: colorArray, top: '10%', left: '2%', textStyle: {color: '#fff', fontSize: 12}},tooltip: {trigger: 'axis', axisPointer: {type: 'line', lineStyle: {color: '#00eaff'}}},title: {text: titleName, left: 'center', textStyle: {color: 'white', fontSize: 12}},grid: {left: '4%', right: '6%', bottom: '4%', top: 50, containLabel: true},xAxis: [{type: 'category', boundaryGap: false, axisLine: {onZero: false, lineStyle: {color: '#51fefe', width: 2, type: 'solid'}}, axisLabel: {color: 'white', fontSize: 12}, data: xData}],yAxis: [{name: yAxisName, type: 'value', nameTextStyle: {color: '#ffffff', fontSize: 12}, min: yNumData[0], max: yNumData[1], interval: yNumData[2], axisLabel: {color: 'white', fontSize: 12, formatter: function(value) {if (value >= 1000) {return (value / 1000) + 'k';} return value;}}, axisLine: {show: false}, splitLine: {show: true, lineStyle: {color: '#51fefe', width: 1, type: 'solid'}}}],series: [{name: seriesNameOne, type: 'line', smooth: true, lineStyle: {color: {type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [{offset: 0, color: colorArray[0]}, {offset: 1, color: colorArray[0]}], globalCoord: false}, width: 2, type: 'solid'}, itemStyle: {color: colorArray[0]}, data: seriesDataOne}, {name: seriesNameTwo, type: 'line', smooth: true, lineStyle: {color: {type: 'linear', x: 0, y: 0, x2: 0, y2: 1, colorStops: [{offset: 0, color: colorArray[1]}, {offset: 1, color: colorArray[1]}], globalCoord: false}, width: 2, type: 'solid'}, itemStyle: {color: colorArray[1]}, data: seriesDataTwo}]};dualLineInstance.setOption(dualLineOptions, true);window.addEventListener('resize', () => dualLineInstance.resize(), false);}

// 调用示例createBarChart('risk-count', ['#fe0000', '#ff8901', '#ffff01', '#5abbff'], '按区域', ['重大风险点', '较大风险点', '一般风险点', '低风险点'], ['监控区', '道路', '车辆', '驾驶员'], bottomServe);createDualLineChart('doubleLine', '湿度记录', ['11-11', '11-12', '11-13', '11-14', '11-15', '11-16', '11-17', '11-18'], '主卧室', [5, 10, 15, 5, 20, 10, 20, 10], '室外', [10, 5, 5, 15, 5, 20, 5, 20], '', ['主卧室', '室外'], ['#51fefe', '#1673ff'], [0, 100, 10]);createPieChart('danger-count', '按责任单位', ['重大隐患', '一般隐患'], [{name: '重大隐患', value: 58.26}, {name: '一般隐患', value: 9.89}], ['#fe0000', '#5abbff']);


推荐阅读
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 获取计算机硬盘序列号的方法与实现
    本文介绍了如何通过编程方法获取计算机硬盘的唯一标识符(序列号),并提供了详细的代码示例和解释。此外,还涵盖了如何使用这些信息进行身份验证或注册保护。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
author-avatar
灬L龙灬_423
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有