平常用图表可能都是常规的折线图,柱状图,饼图这些基本的。

下面的是一个漏斗图 + 象形柱图写出来的图表。

完成后的图表

漏斗图很简单,只讲下象形柱图里的几个关键点(由于这里的用法有点特别,不是文档里的常规操作)。第一点:把图形换成图片

symbol属性里,前面记得加 image: ,不然图片出不来。(文档看清楚一点再下手)

第二点:上图可以看到,我们需要只有一列且纵向排列的图形

假如用 symbolRepeat 中的 fixed 指定图形重复,那旁边的转化率数字就没法根据 data 写入了。

要在 yAxis 中的 type 要改成 category,顺便写入 inverse : true(不然的话,图形从上到下对应的data是从末尾到开头的顺序),旁边的转换率即可以对应data里的值,通过 label 去做了。

第三点:调整图形在x轴方向的位置。

可以在 xAxis 中写入min : 0,max : 100,通过 data 里的 value 去调整图形在x轴上的相对位置(也可以不写入min 和 max,区别就是 data 中 value 的值控制图形 x 轴移动的距离大小),而后通过symbolOffset去微调。

第四点:调整图形之间的间隔与顶部的距离

由于不是 symbolRepeat 出来的重复图形,所以没法通过 symbolMargin 属性去调整。那么要如何调整呢?

在yAxis中通过min 和 max 去调整图形之间的大概间隔。

最后通过 symbolOffset 调整图形与顶部的距离。

最后直接上代码echarts.init(document.getElementById('photoConversion')).setOption({ title: { text: `拍照全流程转化率`, top: 26, left: 33, textStyle: { fontFamily: 'MicrosoftYaHei', color: '#252525', fontSize: 16, fontWeight: 400 } }, color: ['#1481E2', '#1F88E5', '#3594E8', '#4CA0EA', '#62ABED', '#79B8EF', '#8FC3F2'], xAxis: { show: false, }, yAxis: { show: false, type: 'category', inverse: true, min: 0, max: 6, }, series: [{ type: 'funnel', minSize: 90, maxSize: '70%', left: '4%', top: 100, bottom: 50, gap: 2, label: { position: 'inside', fontFamily: 'Microsoft YaHei', fontSize: 16, color: '#fff', formatter: '{b}{xx|}\n{c}', rich: { xx: { padding: [6, 0] } } }, data: [ { value: 2033, name: '整页拍照' }, { value: 2000, name: '收集错题' }, { value: 1820, name: '确认提交' }, { value: 1680, name: '错题本' }, { value: 800, name: '打印错题' }, { value: 500, name: '预览' }, { value: 100, name: '下载文件' }, ] }, { type: 'funnel', minSize: 80, maxSize: 80, top: 100, bottom: 50, left: '-68%', gap: 2, label: { position: 'insideLeft', fontFamily: 'Microsoft YaHei', fontSize: 14, color: '#545454', formatter: function (d) { console.log(d) if (d.data.name === '整页拍照') { return ' ' } var ins = `{s|${d.data.name}}\n` + `{x|${d.data.percent}}`; return ins }, rich: { s: { fontSize: 14, color: '#545454', padding: [5, 0, 12, 0] }, x: { fontSize: 16, color: '#545454', fontWeight: 'bold' } } }, itemStyle: { color: 'transparent', borderWidth: 0, }, data: [ { value: 2030, name: '整页拍照', percent: '90%' }, { value: 2000, name: '收集错题', percent: '70%' }, { value: 1820, name: '确认提交', percent: '60%' }, { value: 1680, name: '错题本', percent: '50%' }, { value: 800, name: '打印错题', percent: '30%' }, { value: 500, name: '预览', percent: '20%' }, { value: 100, name: '下载文件', percent: '40%' }, ] }, { type: 'pictorialBar', symbol: 'image://http://homework.mizholdings.com/kacha/kcsj/8351c72ed86c1a0c/.png', symbolSize: ['45%', 58], z: 1, symbolOffset: ['110%', 60], label: { show: true, position: 'right', offset: [15, 60], align: 'center', backgroundColor: 'rgba(249,249,249,1)', width: 106, height: 60, fontStyle: 'Microsoft YaHei', formatter: function (d) { var ins = '{s|转换率}\n' + `{x|${d.data.percent}}`; return ins }, rich: { s: { fontSize: 14, color: '#545454', padding: [5, 0, 12, 0] }, x: { fontSize: 16, color: '#121212' } } }, data: [{ value: 140, percent: '70%', }, { value: 140, percent: '60%', }, { value: 140, percent: '50%', }, { value: 140, percent: '40%', }, { value: 140, percent: '30%', }, { value: 140, percent: '10%', }] }] })

可以把 setOption 中的配置复制到 echarts 实例中,即可以看到图表了。但是由于容器的宽高有不同,所以会有点偏差,调整下浏览器的宽高即可以了。(浏览器宽高调整到1380*730差不多就是我图表放到的div宽高了)

charts漏斗图表_用echarts写的转换率图表(漏斗图 + 象形柱图)相关推荐

  1. echarts象形柱图自定义样式(类似柱状图)

    象形柱图是可以设置各种具象图形元素(如图片.SVG PathData 等)的柱状图,往往用在信息图中,用于有至少一个类目轴或时间轴的直角坐标系上. 先上一个简单的效果: 其实实现思路主要在于:绘制具有 ...

  2. echarts分段式的象形柱图

    最近做项目UI那边那边提了个比较少见的需求,如图: 我一开始想到的自然是用element ui的进度条来做,但找了许久都没找到这种的样式效果. 于是考虑用柱状图,如果这三个数据只用一个柱状图自然很难实 ...

  3. echarts 柱状图圆柱_ECharts象形柱图

    象形柱图在 ECharts 系列中使用series[i]-pictorialBar表示,它利用图片和形状表现数据,具体来说它既可以用图形的长宽变形表现数据,也可以用图形的个数.甚至是图形的颜色.透明度 ...

  4. echarts象形柱图整体颜色渐变

    @独孤求败12138 象形柱图整体颜色渐变 echarts中的象形柱图颜色渐变只能局部内部渐变,但是我想要实现整体渐变,怎么做呢?经过我大量的搜索和官方文档及API的研究,好像并不提供这一功能,那只能 ...

  5. Echarts 自定义象形柱图Spirits

    ** Echarts 自定义象形柱图Spirits 效果 封装的组件,使用时可直接换spirit与spirit1改变图片 ** //外部调用方法 <echarts2 class="pe ...

  6. mysql的可视化图表_利用ECharts可视化mysql数据库中的数据

    这是工程所有文件的一个目录 工程文件目录 我做了一个柱状图,一个饼状图,一个折线图,配置过程很恶心,出了好多错,所以在这里记录一下. 如果想直接看 echarts 的部分,可以跳过下面数据库的建立. ...

  7. sql java web动态曲线图_使用Echarts实现动态曲线图表

    最近做的一个在线气象观测网站要实现一个需求:使用图表展示最近五天温湿度等气象要素的曲线变化 图示如下(2016-5-25日的数据): 下面就详述一下实现过程吧(注:相较于原网页我隐去了很多内容,本实现 ...

  8. axure图表_最好用的数据可视化图表制作工具推荐

    数据可是化在我们日常生活中越来越重要了,所以很多场合场景都需要通过可视化的一些数据来展示场景效果,那么这些可视化图表如何制作呢? 其实制作可视化图表是比较简单的,完全可以通过工具实现,下面小编给大家介 ...

  9. graph labview 两个图表_科研论文插图/数据处理和图表制作(7月45日、7月1112日 线上班)...

    线上学习 建群答疑 会后回放 课程特色 这两部课程自开班以来受到往期学员100%高评,实用价值特别大.授课老师来自一线的同背景的科研人员,非常了解学员的实际需求. 课程特色 金老师是来自中科院系统.在 ...

  10. typescript用什么软件写_用TypeScript写了个低配版H5美图工具

    前言 最近两月在学习canvas时候,发现很多有意思的技术能力,特别是在图像处理这一领域.让我想起大学课堂教学的<数字图像处理>(冈萨雷斯 版本).但是很遗憾的是,大学上完课应付考试后全部 ...

最新文章

  1. nginx转发及后端服务器获取真实client的IP
  2. java出现令牌语法错误_java – 令牌“;”,“{”在此令牌之后的语法错误
  3. mysql参数thread_cache和table_cache详解
  4. Vue.js 单文件组件
  5. Swift 位运算练习
  6. 2017百度之星资格赛 1003 度度熊与邪恶大魔王
  7. 使用JDBC完成数据的增删改查
  8. 《用python写网络爬虫》完整版+源码
  9. SIP协议详解(中文)-5
  10. WIN7共享WIFI
  11. 推荐 | 给好奇者的一些优秀个人博客
  12. IE下载文件时,中文文件名乱码问题
  13. 英读廊——一个人的旅行:原汁原味希腊克里特游记
  14. Arm 公司推出了 Mbed linux OS
  15. CNAS 认证机构认可规范文件清单
  16. 没有比这个更详细的Elasticsearch教程
  17. 基于Vue实现的多条件筛选功能(类似京东和淘宝功能)
  18. 单片机c语言的按键程序设计,单片机C语言程序设计:按键发音
  19. Shor算法 or量子傅里叶变换?
  20. 车牌识别EasyPR(3)——SVM模型判断车牌

热门文章

  1. php 字符串长度判断_php 字符串长度判断更高效的方法
  2. 三菱有C语言PLC控制器,三菱PLC可程序设计控制器系列软件介绍
  3. Java后台返回PDF文件预览下载
  4. 尚学堂__百战程序员__1573题------第一章 初始java
  5. 远程控制软件老是断线怎么解决?
  6. 无偿分享《新版标准日本语》电子版超级方便!!
  7. otool 与dylib
  8. 机器学习鸢尾花数据集分析
  9. dmg为什么下载成php,解答:dmg是什么意思,dmg文件如何打开,及怎么把dmg转换成iso
  10. openlayer4 加载arcgis rest 服务