ECharts单柱状图、多柱状图、堆叠柱状图 您所在的位置:网站首页 数据做成柱状图叫什么 ECharts单柱状图、多柱状图、堆叠柱状图

ECharts单柱状图、多柱状图、堆叠柱状图

2024-07-03 13:11| 来源: 网络整理| 查看: 265

数据格式

var data = { "titleList": [ "商超门店", "教育培训", "房地产", "生活服务", "汽车销售", "旅游酒店", "五金建材" ], "oneList": [ 23, 28, 0, 28, 12, 13, 25 ], "twoList": [ 8, 29, 34, 14, 0, 4, 8 ], "otherList": [ 14, 16, 26, 27, 0, 2, 5 ] }

具体代码:

单柱状图,只显示一个

function echarts_1(data) { // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('echart1')); option = { // backgroundColor: '#00265f', tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } }, grid: { left: '0%', top: '10px', right: '0%', bottom: '4%', containLabel: true }, xAxis: [{ type: 'category', data: data.titleList, // data: ['商超门店', '教育培训', '房地产', '生活服务', '汽车销售', '旅游酒店', '五金建材'], axisLine: { show: true, lineStyle: { color: "rgba(255,255,255,.1)", width: 1, type: "solid" }, }, axisTick: { show: false, }, axisLabel: { interval: 0, // rotate:50, show: true, splitNumber: 15, textStyle: { color: "rgba(255,255,255,.6)", fontSize: '12', }, }, }], yAxis: [{ type: 'value', axisLabel: { //formatter: '{value} %' show: true, textStyle: { color: "rgba(255,255,255,.6)", fontSize: '12', }, }, axisTick: { show: false, }, axisLine: { show: true, lineStyle: { color: "rgba(255,255,255,.1 )", width: 1, type: "solid" }, }, splitLine: { lineStyle: { color: "rgba(255,255,255,.1)", } } }], series: [ { type: 'bar', data: data.oneList, //数据格式 // data: [200, 300, 300, 900, 1500, 1200, 600], barWidth: '35%', //柱子宽度,修改可调整 // barGap: 1, //柱子之间间距 itemStyle: { normal: { color: '#2f89cf', opacity: 1, barBorderRadius: 5, //柱子的菱角,数据越大越圆 } } } ] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); window.addEventListener("resize", function () { myChart.resize(); }); }

 

双柱状图,显示2个柱状图,区别仅在于 “series ”中多了一串数据

function echarts_2(data) { // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('echart2')); option = { // backgroundColor: '#00265f', //展示右上角的标签显示,series中的name需与这边一致,否则不进行展示 legend: { data: ['内部', '外部'], type: "plain", right: '2%', //展示位置,具体可查看api textStyle: { color: 'rgba(255,255,255,.5)', //文字颜色 } }, tooltip: { trigger: 'axis', axisPointer: {type: 'shadow'} }, grid: { left: '0%', top: '10px', right: '0%', bottom: '4%', containLabel: true }, xAxis: [{ type: 'category', data: data.titleList, // data: ['浙江', '上海', '江苏', '广东', '北京', '深圳', '安徽'], axisLine: { show: true, lineStyle: { color: "rgba(255,255,255,.1)", width: 1, type: "solid" }, }, axisTick: { show: false, }, axisLabel: { interval: 0, // rotate:50, show: true, splitNumber: 15, textStyle: { color: "rgba(255,255,255,.6)", fontSize: '12', }, }, }], yAxis: [{ type: 'value', axisLabel: { //formatter: '{value} %' show: true, textStyle: { color: "rgba(255,255,255,.6)", fontSize: '12', }, }, axisTick: { show: false, }, axisLine: { show: true, lineStyle: { color: "rgba(255,255,255,.1 )", width: 1, type: "solid" }, }, splitLine: { lineStyle: { color: "rgba(255,255,255,.1)", } } }], series: [ { type: 'bar', name : "内部", data: data.oneList, // data: [1500, 1200, 600, 200, 300, 300, 900], barWidth: '35%', //柱子宽度 // barGap: 1, //柱子之间间距 itemStyle: { normal: { color: '#2f89cf', //柱子颜色 opacity: 1, barBorderRadius: 5, } } }, { type: 'bar', name : "外部", data: data.twoList, // data: [1500, 1200, 600, 200, 300, 300, 900], barWidth: '35%', //柱子宽度 // barGap: 1, //柱子之间间距 itemStyle: { normal: { color: '#27d08a', //柱子颜色 opacity: 1, barBorderRadius: 5, //柱子菱角 } } } ] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); window.addEventListener("resize", function () { myChart.resize(); }); }

 

堆叠柱状图,同双柱状图的区别在于“series”中增加一个“stack”属性

function echarts_2(data) { // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('echart2')); option = { // backgroundColor: '#00265f', legend: { data: ['内部', '外部'], type: "plain", right: '2%', textStyle: { color: 'rgba(255,255,255,.5)', } }, tooltip: { trigger: 'axis', axisPointer: {type: 'shadow'} }, grid: { left: '0%', top: '10px', right: '0%', bottom: '4%', containLabel: true }, xAxis: [{ type: 'category', data: data.titleList, // data: ['浙江', '上海', '江苏', '广东', '北京', '深圳', '安徽'], axisLine: { show: true, lineStyle: { color: "rgba(255,255,255,.1)", width: 1, type: "solid" }, }, axisTick: { show: false, }, axisLabel: { interval: 0, // rotate:50, show: true, splitNumber: 15, textStyle: { color: "rgba(255,255,255,.6)", fontSize: '12', }, }, }], yAxis: [{ type: 'value', axisLabel: { //formatter: '{value} %' show: true, textStyle: { color: "rgba(255,255,255,.6)", fontSize: '12', }, }, axisTick: { show: false, }, axisLine: { show: true, lineStyle: { color: "rgba(255,255,255,.1 )", width: 1, type: "solid" }, }, splitLine: { lineStyle: { color: "rgba(255,255,255,.1)", } } }], series: [ { type: 'bar', name : "内部", stack : "堆叠", //设置堆叠柱状图的属性,需堆叠的柱子名称需相同 data: data.oneList, // data: [1500, 1200, 600, 200, 300, 300, 900], barWidth: '35%', //柱子宽度 // barGap: 1, //柱子之间间距 itemStyle: { normal: { color: '#2f89cf', //柱子颜色 opacity: 1, barBorderRadius: 1, } } }, { type: 'bar', name : "外部", stack : "堆叠", //设置堆叠柱状图的属性,需堆叠的柱子名称需相同 data: data.twoList, // data: [1500, 1200, 600, 200, 300, 300, 900], barWidth: '35%', //柱子宽度 // barGap: 1, //柱子之间间距 itemStyle: { normal: { color: '#27d08a', //柱子颜色 opacity: 1, barBorderRadius: 1, //柱子菱角 } } } ] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); window.addEventListener("resize", function () { myChart.resize(); }); }

 

堆叠柱状图若想查看总数,可在设置一栏进行数据的相加,这样既可进行总数的查看

function echarts_2(data) { var result =[]; //总数 var maxNum = 0; //最大数值,为了界面好看的,可不设置 for(var i = 0; i < data.titleList.length;i++) { var sumNum = data.oneList[i] + data.twoList[i] result.push(sumNum) maxNum = sumNum >= maxNum ? sumNum : maxNum; } // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('echart2')); option = { // backgroundColor: '#00265f', legend: { data: ['内部', '外部'], type: "plain", right: '2%', textStyle: { color: 'rgba(255,255,255,.5)', } }, tooltip: { trigger: 'axis', axisPointer: {type: 'shadow'} }, grid: { left: '0%', top: '10px', right: '0%', bottom: '4%', containLabel: true }, xAxis: [{ type: 'category', data: data.titleList, // data: ['浙江', '上海', '江苏', '广东', '北京', '深圳', '安徽'], axisLine: { show: true, lineStyle: { color: "rgba(255,255,255,.1)", width: 1, type: "solid" }, }, axisTick: { show: false, }, axisLabel: { interval: 0, // rotate:50, show: true, splitNumber: 15, textStyle: { color: "rgba(255,255,255,.6)", fontSize: '12', }, }, }], yAxis: [{ type: 'value', max: Math.round(maxNum * 1.2), //设置纵坐标的最大数据为多少,目的是怕数据过大把展示图进行重叠 axisLabel: { //formatter: '{value} %' show: true, textStyle: { color: "rgba(255,255,255,.6)", fontSize: '12', }, }, axisTick: { show: false, }, axisLine: { show: true, lineStyle: { color: "rgba(255,255,255,.1 )", width: 1, type: "solid" }, }, splitLine: { lineStyle: { color: "rgba(255,255,255,.1)", } } }], series: [ { type: 'bar', name : "内部", stack : "堆叠", data: data.oneList, // data: [1500, 1200, 600, 200, 300, 300, 900], barWidth: '35%', //柱子宽度 // barGap: 1, //柱子之间间距 itemStyle: { normal: { color: '#2f89cf', //柱子颜色 opacity: 1, barBorderRadius: 1, } } }, { type: 'bar', name : "外部", stack : "堆叠", data: data.twoList, // data: [1500, 1200, 600, 200, 300, 300, 900], barWidth: '35%', //柱子宽度 // barGap: 1, //柱子之间间距 itemStyle: { normal: { color: '#27d08a', //柱子颜色 opacity: 1, barBorderRadius: 1, //柱子菱角 } } }, { name: "总数", type: "line", //使用线性图 symbolSize:1, symbol:'circle', itemStyle: { normal: { //线性图的颜色,最后一个数值是透明度,这里设置为0不让查看到,不然界面很丑 color: "rgba(252,120,48,0)", barBorderRadius: 0, } }, data: result } ] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); window.addEventListener("resize", function () { myChart.resize(); }); }

 

附上echarts的api:

https://echarts.apache.org/zh/option.html#title



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有