echarts_柱状图+漏斗图

2023-10-25 12:30
文章标签 echarts 柱状图 漏斗

本文主要是介绍echarts_柱状图+漏斗图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

      • 柱状图(bar)
        • 需求
          • [1] 复制案例
          • [2] 修改类目轴方向
          • [3] 修改数据渲染方向
          • [4] 修改坐标轴文本样式
      • 漏斗图(funnel)
          • 漏斗图的形状

柱状图(bar)

需求

在这里插入图片描述
如上图,做一个横向柱状图,后端返回的数据是从小向大排列的数据,希望能够按照顺序进行展示。

[1] 复制案例
  • 复制一个Echarts官网案例,将数据替换为想要渲染的数据
    在这里插入图片描述
[2] 修改类目轴方向
  • [2] 将[1]图柱状图改为横向柱状图

    xAxis与yAxis是直角坐标轴x/y轴的配置项;

    在xAxis与yAxis配置项中都存在type属性,属性值有4个分别如下

    • category 类目轴 (x轴默认值)
    • value 数值轴 (y轴默认值)
    • time 时间轴
    • log 对数轴

    data属性是类目数据,若是(xAxis/yAxis)没有设置type属性,但是设置了axis.data则认为当前配置项的type为category

    示例
    在这里插入图片描述

[3] 修改数据渲染方向

在这里插入图片描述
从上图可以看出数据渲染方向是沿着y轴往上进行渲染,但是违背我的初衷,我希望用户能够看到数据的正想排列过程。

xAxis/yAXis配置项中存在inverse属性 -> 是否是反向坐标轴(数据是否反向渲染)

在这里插入图片描述
配置inverse属性为true就达到目的了。

[4] 修改坐标轴文本样式

axis.data是一个数组,存储类目数据。
数组的每个元素:String/Object

  • 若是不需要修改文本样式,则元素为String格式
  • 若是需要修改文本样式,则元素为Object格式

在这里插入图片描述
如上图,仅需要修改‘衬衫’的字体,那么data中第一个元素为Object类型,其余元素类型为String类型。

在本案例中需要将y轴坐标文本全部调整字体为16px,因此可以进行如下调整

const value =  ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
const data = value.map(item=>({value: item,textStyle:{fontSize:16,}
}))
option = {yAxis: {data,inverse:true},xAxis:{},series: [{data: [200, 180, 120, 80, 30, 10],type: 'bar'}]
}

漏斗图(funnel)

option = {series: [{type: 'funnel', // 图表类型left: '10%',top: 60,bottom: 60,width: '80%',min: 0, // value最小值max: 100, // value最大值minSize: '0%', // 最小值映射的宽度(最小宽度)maxSize: '100%', // 最大值映射块的宽度(最大宽度)// sort: 数据排列顺序 descending(默认)从大到小排列;ascending:从小到大排列;none:按照data(value属性)值排列sort: 'descending', // gap: 图表块与块之间的间距gap: 2,// label: 图表每块上的文本label: {show: true, // 是否显示文本(默认true)position: 'inside', //  文本显示的位置(默认块右侧)formatter: function(d){ // 文本内容,默认name属性return d.data.name + '  ' + d.data.num}},// 图表每个块的样式itemStyle: {// color:'red',   表示每个块都是红色,默认是在option.color中选取颜色borderColor: '#fff',borderWidth: 1},// 鼠标hover时块的样式emphasis: {// 文本样式label: {fontSize: 20}},// 显示数据data: [{ value: 60, name: 'Visit', num: 5000 },{ value: 40, name: 'Inquiry', num: 3200 },{ value: 20, name: 'Order', num: 10 },{ value: 80, name: 'Click' , num: 6800},{ value: 100, name: 'Show', num: 10000 }]}]
};
漏斗图的形状

在看案例时,发现图表是一个“三角形”的形状,但是在我们实际使用时会发现图表存在变形的情况
在这里插入图片描述

漏斗图的形状是通过data.value属性控制的,若是每个数据的data.value属性的递减/递增不是成比例的就会出线漏斗图三角形变形的情况。

若是想要图形一直是三角形,可以将value值做成递减,在data中添加另一个属性来表示真正的数值(注:若是后端的返回值不是按照顺序返回的,需要先排序!)

这篇关于echarts_柱状图+漏斗图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/282604

相关文章

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

使用matplotlib绘制散点图、柱状图和饼状图-学习篇

一、散点图 Python代码如下: num_points = 100x = np.random.rand(num_points) #x点位随机y = np.random.rand(num_points) #y点位随机colors = np.random.rand(num_points) #颜色随机sizes = 1000 * np.random.rand(num_points) # 大

Echarts使用笔记--饼图,柱状图

开始做前端了,感觉自己是要变成全栈工程师了。。。 今天使用了echart,用之前觉得好高大上好厉害,肯定很复杂。用了以后才发现,使用起来超简单,当然,精通很难,里面的各种配置太多了,本文记录一下自己用到的东西。 echart使用 现在直接引用js文件就可以了 <script src="echarts.min.js"></script> echart组件需要在一个宽高固定的DOM里才能显示

【python web】Flask+Echarts 实现动图图表

flask 是python web开发的微框架,Echarts酷炫的功能主要是javascript起作用,将两者结合起来,发挥的作用更大。下面将Echarts嵌套进Flask的html模板中。 项目结构: 打开demo.py运行,点击console中的链接http://127.0.0.1:5000/ 就可以看到我们想要的动态图表。 demo.py #coding:utf-8fro

echarts 多个3D柱状图

图片样式: 代码实现: <template><div :class="className" :style="{height:height,width:width}" /></template><script>require("echarts/theme/sakura"); // echarts themeexport default {props: {className: {typ

基于echarts车辆大数据综合分析平台

0.序言 基于ECharts的大数据综合分析平台技术框架与基本原理 技术框架 基于ECharts的大数据综合分析平台是一个集数据收集、处理、分析及可视化展示于一体的综合性系统。其技术框架主要可以分为以下几个层次: 数据源层: 数据收集:通过各种数据收集工具(如日志收集器、数据库同步工具等)从多个数据源(如关系型数据库、NoSQL数据库、日志文件、API接口等)收集数据。数据存储:将收集到的

echarts进度

echarts图表集 let numdata=["I级",'II级','III级','IV级','V级','劣V级']let pricedata=40option = {backgroundColor: '#0f375f',title: {show: false,text: '',left: 'center',top: '30%',textStyle: {color: '#00D5FF

echarts环形图

let dataValue=[{value: 30,name: '桥梁',percent: 0.25,color: 'rgba(248,95,94,1)',radius: ['75%', '80%'],center: ['22%', '50%'],},{value: 15,name: '隧道',percent: 0.25,color: 'rgba(243,185,71,1)',radius:

【每日一题】LeetCode 84.柱状图中最大的矩形(栈、数组、单调栈)

【每日一题】LeetCode 84.柱状图中最大的矩形(栈、数组、单调栈) 题目描述 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。 这个题目和接雨水非常类似 点击跳转接雨水 LeetCode 40.接雨水 输入示例 输入:heights = [2,1,5,6,2,3] 输出:10 解释:最大的

echarts多个环形图

echarts图表集  var dataValue = [{name:'今日待分配方量',value:49}, {name:'今日已分配方量',value:602}, {name:'今日完成方量',value:1037}]var piedata1 = [{name: '1#拌和机',value: 20},{name: '2#拌和机',value: 22},{name: '3#拌和机 ',va