ECharts的简单介绍及使用

ECharts是一个强大的JavaScript数据可视化库,适用于PC和移动设备,支持多种图表类型,如折线图、柱状图、饼图等。通过简单的配置,可以创建出直观、交互丰富的图表。本文介绍了ECharts的基本概念、使用方法,并展示了饼状图和柱状图的实例,适合初学者参考学习。
摘要由CSDN通过智能技术生成

ECharts的简单介绍及使用

前面做Web项目时使用到Echarts的对数据的处理。感觉还不错,今天特此整理一下,作为笔记,用于自己的学习。

往往杂乱无章的数据给人一个乱的感觉,用一个直观可视化的图表会给人一目了然的效果。

简单介绍:

ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9 /10/11,chrome,firefox,Safari等),底层依赖轻量级的Canvas类库Zender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。

支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达 图)、和弦图、力导向布局图、地图、仪表盘、漏斗图、事件河流图等12类图表,同时提供标题,详情气泡、图例、值域、数据区域、时间轴、工具箱等7个可交 互组件,支持多图表、组件的联动和混搭展现。

简单使用:

  1. ​ 官网下载Echarts插件

    https://echarts.apache.org/zh/index.html

  2. ​ 首先引入Echarts的js文件

    <script type="text/javascript" js/echarts.min.js"></script>
    
  3. ​ 再写一个简单的DOM容器

    <div class="if_sy_tongyongkuai_cont" id="a" style="height:360px;"></div>
    <div class="if_sy_tongyongkuai_cont" id="b" style="height:360px;"></div>
    
  4. 创建一个简单的饼状图

    代码都是相应的图都有的,只需要你把自己的数据传送到前端,进行简单展示出来即可。

在这里插入图片描述

有各种的图形,看各位的需要
在这里插入图片描述

左边是视图对应的js代码,右边是效果图

在这里插入图片描述

​ 数据一般都是在data[]这个标签里面写,根据识别就可以显示在页面上

<script type="text/javascript">
var myChartFjHfl2 = echarts.init(document.getElementById('a'));
option2 = {
	    backgroundColor: '#424956',
	    tooltip: {
	        trigger: 'item',
	        formatter: "{a} <br/>{b}: {c} ({d}%)",

	    },
	    legend: {
	        
	        orient: 'vertical',
	        x: 'right',
	       itemWidth: 14,
	        itemHeight: 14,
	        align: 'left',
	    
	        data:['总收入','总支出'],
	                textStyle: {
	            color: '#fff'
	        }
	    },
	    series: [
	        {
	            name:'费用',
	            type:'pie',
	            hoverAnimation: false,
	            legendHoverLink:false,
	            radius: ['40%', '42%'],
	            color: ['#915872', '#3077b7'],
	
	            label: {
	                normal: {
	                    position: 'inner'
	                }
	            },
	            labelLine: {
	                normal: {
	                    show: false
	                },
	               
	            },
	            tooltip: {
	               show:false,
	               
	               
	            },
	            
	            data:[
	            	<c:forEach items="${maps}" var="row" varStatus="b">
		               <c:if test="${b.index+1 == fn:length(maps)}">
		               { name: '${row.name}', value: ${row.value}}
		               </c:if>
		               <c:if test="${b.index+1 != fn:length(maps)}">
		               { name: '${row.name}', value: ${row.value}},
		               </c:if>
		              </c:forEach>
	            ]
	        },
	        {
	            name:'费用',
	            type:'pie',
	            radius: ['42%', '55%'],
	            color: ['#d74e67', '#0092ff'],
	            label: {
	                normal: {
	                    formatter: '{b}\n{d}%'
	                },
	          
	            },
	            data:[
	            	<c:forEach items="${maps}" var="row" varStatus="b">
		               <c:if test="${b.index+1 == fn:length(maps)}">
		               { name: '${row.name}', value: ${row.value}}
		               </c:if>
		               <c:if test="${b.index+1 != fn:length(maps)}">
		               { name: '${row.name}', value: ${row.value}},
		               </c:if>
		              </c:forEach>
	            ]
	        }
	    ]
	};
myChartFjHfl2.setOption(option2);
<script type="text/javascript">
var myChartFjHf3 = echarts.init(document.getElementById('b'));


var optionFjHf3 = {
        backgroundColor: '#ffffff',
        title: {
            text: '商品销售统计',
            top: '7%',
            textStyle: {fontSize: 12},
            left: '43%'
        },
        color: ['#3398DB'],
        tooltip: {
            trigger: 'axis',
            axisPointer: {            // 坐标轴指示器,坐标轴触发有效
                type: 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
            }
        },
        grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: true
        },
        xAxis: [
            {
                type: 'category',
                axisLabel: {
                    //横坐标上的文字换行显示 begin
                    formatter: function (val) {
                        return val.split("").join("\n");
                    }
                    //横坐标上的文字换行显示 end
                },
                data: [
							<c:forEach items="${maps}" var="spe" varStatus="b">
								<c:if test="${b.index+1 == fn:length(maps)}">
									"${spe.name}"
								</c:if>
								<c:if test="${b.index+1 != fn:length(maps)}">
									"${spe.name}",
								</c:if>
							</c:forEach>
               ],
                axisTick: {
                    alignWithLabel: true
                }
            }
        ],
        yAxis: [
            {
                type: 'value'
            }
        ],
        series: [
            {
                name: '销售量',
                type: 'bar',
                barWidth: '60%',
                clickable: false,//绑定点击事件
                data: [
                       <c:forEach items="${maps}" var="row" varStatus="b">
    	               <c:if test="${b.index+1 == fn:length(maps)}">
    	               {id:'${row.id}', name: '${row.name}', value: ${row.value}}
    	               </c:if>
    	               <c:if test="${b.index+1 != fn:length(maps)}">
    	               {id:'${row.id}', name: '${row.name}', value: ${row.value}},
    	               </c:if>
    	              </c:forEach>
              ]
            }
        ]
    };


myChartFjHf3.setOption(optionFjHf3);

</script>

效果图如下:

在这里插入图片描述

在这里插入图片描述

名词解析

基本名词

名词描述
chart是指一个完整的图表,如折线图,饼图等“基本”图表类型或由基本图表组合而成的“混搭”图表,可能包括坐标轴、图例等
axis直角坐标系中的一个坐标轴,坐标轴可分为类目型、数值型或时间型
xAxis直角坐标系中的横轴,通常并默认为类目型
yAxis直角坐标系中的纵轴,通常并默认为数值型
grid直角坐标系中除坐标轴外的绘图网格,用于定义直角系整体布局
legend图例,表述数据和图形的关联
dataRange值域选择,常用于展现地域数据时选择值域范围
dataZoom数据区域缩放,常用于展现大量数据时选择可视范围
roamController缩放漫游组件,搭配地图使用
toolbox辅助工具箱,辅助功能,如添加标线,框选缩放等
tooltip气泡提示框,常用于展现更详细的数据
timeline时间轴,常用于展现同一系列数据在时间维度上的多份数据
series数据系列,一个图表可能包含多个系列,每一个系列可能包含多个数据

图表名词

名词描述
line折线图,堆积折线图,区域图,堆积区域图。
bar柱形图(纵向),堆积柱形图,条形图(横向),堆积条形图。
scatter散点图,气泡图。散点图至少需要横纵两个数据,更高维度数据加入时可以映射为颜色或大小,当映射到大小时则为气泡图
kK线图,蜡烛图。常用于展现股票交易数据。
pie饼图,圆环图。饼图支持两种(半径、面积)南丁格尔玫瑰图模式。
radar雷达图,填充雷达图。高维度数据展现的常用图表。
chord和弦图。常用于展现关系数据,外层为圆环图,可体现数据占比关系,内层为各个扇形间相互连接的弦,可体现关系数据
force力导布局图。常用于展现复杂关系网络聚类布局。
map地图。内置世界地图、中国及中国34个省市自治区地图数据、可通过标准GeoJson扩展地图类型。支持svg扩展类地图应用,如室内地图、运动场、物件构造等。
heatmap热力图。用于展现密度分布信息,支持与地图、百度地图插件联合使用。
gauge仪表盘。用于展现关键指标数据,常见于BI类系统。
funnel漏斗图。用于展现数据经过筛选、过滤等流程处理后发生的数据变化,常见于BI类系统。
evnetRiver事件河流图。常用于展示具有时间属性的多个事件,以及事件随时间的演化。
treemap矩形式树状结构图,简称:矩形树图。用于展示树形数据结构,优势是能最大限度展示节点的尺寸特征。
venn韦恩图。用于展示集合以及它们的交集。
tree树图。用于展示树形数据结构各节点的层级关系
wordCloud词云。词云是关键词的视觉化描述,用于汇总用户生成的标签或一个网站的文字内容

更多细节可以参考官网的文档,这里只是简单说明一下。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值