今天在做一个图形报表,有个需求是要把展现的统计图保存为图片, 图形报表用的Echarts-2.2.7,

以前有用过 Echarts,记得echarts插件是可以帮助我们把统计图保存为图片的。

只是不记得是怎么配置了,查看API文档很久也没有找到,最后在 文档/配置项手册 里面找到了配置方法 和配置 参数。

下图是 Echarts官网 实例中的配置:

下面来说说配置保存图片的步骤:

1.保存图片是Echarts的一个工具,先找到工具箱

  

toolbox

工具栏。内置有导出图片数据视图动态类型切换数据区域缩放重置五个工具。

2. 然后再找到 各工具的配置项

  

toolbox.feature Object
 

各工具配置项。

除了各个内置的工具按钮外,还可以自定义工具按钮。

3. 再找到保存图片的配置

toolbox.feature.saveAsImage Object

保存为图片。

4. 再看到了保存图片的配置项有的属性 和可填 参数

toolbox.feature.saveAsImage.type string
[ default: 'png' ]

保存的图片格式。支持 'png''jpeg'

toolbox.feature.saveAsImage.name string
 

保存的文件名称,默认使用 title.text 作为名称。

toolbox.feature.saveAsImage.backgroundColor Color
[ default: 'auto' ]

保存的图片背景色,默认使用 backgroundColor,如果backgroundColor不存在的话会取白色。

toolbox.feature.saveAsImage.excludeComponents Array
[ default: ['toolbox'] ]

保存为图片时忽略的组件列表,默认忽略工具栏。

toolbox.feature.saveAsImage.show boolean
[ default: true ]

是否显示该工具。

toolbox.feature.saveAsImage.title boolean
[ default: '保存为图片' ]
toolbox.feature.saveAsImage.icon *
 

Icon 的 path 字符串,ECharts 3 中支持使用自定义的 svg path 作为 icon,格式参见 SVG PathData。可以从 Adobe Illustrator 等工具编辑导出。

 
toolbox.feature.saveAsImage.iconStyle Object
 

保存为图片 icon 样式设置。

toolbox.feature.saveAsImage.pixelRatio number
[ default: 1 ]

保存图片的分辨率比例,默认跟容器相同大小,如果需要保存更高分辨率的,可以设置为大于 1 的值,例如 2。

5. 然后根据 自己的需求去配置就好了

6.查看文档库 截图

7. 项目的 JS 代码

require(
                          [
                           'echarts',
                           'echarts/chart/bar'   // 按需加载所需图表
                           ],
                           function (ec) {
                            // 基于准备好的dom,初始化echarts图表
                            var myChart1 = ec.init(document.getElementById('pro-price-main'));
                            option1 = {
                                 title : {
                                    text: '文档数量(单位:个)',
                                    textStyle: {
                                        fontWeight: 'normal',
                                        fontSize: '15',
                                        color: '#999'
                                    },
                                    x: 54
                                },
                                tooltip : {
                                    show: true,
                                    trigger: 'item',
                                },
                                legend: {
                                    x: 'center',
                                    y: 0,
                                    orient : 'horizontal',
                                    itemGap: 20,
                                    itemWidth: 30,
                                    itemHeight : 20,
                                    textStyle: {
                                        color: '#999'
                                    },
                                    data:['文库总数','文库增长数']
                                },
                                toolbox: {
                                    show: true,
                                    feature: {
                                        magicType: {
                                            type: ['stack', 'tiled']
                                        },
                                        dataView: {show:true},
                                        saveAsImage: {
                                            show:true,
                                            excludeComponents :['toolbox'],
                                            pixelRatio: 2
                                            
                                        }
                                    }
                                },
                                calculable : true,
                               
                                xAxis : [
                                    {
                                        type : 'category',
                                        show: true,
                                        splitLine: false,
                                        axisLine: {
                                            lineStyle: {
                                                width: 1,
                                                color: '#f2f2f2'
                                            }
                                        },
                                        axisLabel: {
                                            textStyle: {
                                                align: 'center',
                                                color: '#999'
                                            }
                                        },
                                        axisTick: {
                                            show: false
                                        },
                                        data : result.results["docMonthData"]  
                                    }
                                ],
                                yAxis : [
                                    {
                                        type : 'value',
                                        show: true,
                                        splitLine: {
                                            lineStyle: {
                                                color: ['#f2f2f2'],
                                                width: 1,
                                            }
                                        },
                                        axisLine: {
                                            lineStyle: {
                                                width: 1,
                                                color: '#f2f2f2'
                                            }
                                        },
                                        axisLabel: {
                                            textStyle: {
                                                color: '#999'
                                            }
                                        }
                                    }
                                ],
                                series : [
                                    {
                                        name:'文库总数',
                                        type:'bar',
                                        stack: '总量',
                                        data: result.results["docTotalData"],
                                        itemStyle: {
                                            normal: {
                                                color: '#7266ba'
                                            }
                                        }
                                    },
                                    {
                                        name:'文库增长数',
                                        type:'bar',
                                        stack: '总量',
                                        itemStyle: {                // 系列级个性化
                                            normal: {
                                                color: '#f9d21a'
                                            }
                                        },
                                        data: result.results["growthNumData"]
                                    }
                                ]
                            };
                            // 为echarts对象加载数据
                            myChart1.setOption(option1);
                          }
                      );

Echarts-2.2.7中统计出来的统计图保存为图片的更多相关文章

  1. Android将view保存为图片并放在相册中

    在Android中,可以将view保存为图片并放在相册中,步骤为 view->bitmap->file,即先将view转化为bitmap,再将bitmap保存到相册中. 需要将红框标注的v ...

  2. java学习,从一个字符串中统计同一类型出现的次数

    1.从字符串“AS345asdzf*())sddsWE”中统计大写字母.小写字母.其他类型的出现的次数 String s="AS345asdzf*())sddsWE"; int l ...

  3. SQL Server 中统计信息直方图中对于没有覆盖到谓词预估以及预估策略的变化(SQL2012-->SQL2014-->SQL2016)

    本位出处:http://www.cnblogs.com/wy123/p/6770258.html 统计信息写过几篇了相关的文章了,感觉还是不过瘾,关于统计信息的问题,最近又踩坑了,该问题虽然不算很常见 ...

  4. MySQL 8.0 中统计信息直方图的尝试

    直方图是表上某个字段在按照一定百分比和规律采样后的数据分布的一种描述,最重要的作用之一就是根据查询条件,预估符合条件的数据量,为sql执行计划的生成提供重要的依据在MySQL 8.0之前的版本中,My ...

  5. 【未解决】对于使用Windows的IDEA进行编译的文件,但无法在Linux系统中统计代码行数的疑问

    在我学习使用Windows的IDEA的过程中,将代码文件转移到Linux虚拟机当中,但无法在Linux系统中统计代码行数. 注意:拷贝进虚拟机的文件均能编译运行. 具体过程如下: root@yogil ...

  6. SQLSERVER中统计所有表的记录数

    SQLSERVER中统计所有表的记录数 利用系统索引表sysindexes中索引ID indid<1的行中的rows列存有该表的行数这一特点.    方法是利用隐藏未公开的系统存储过程sp_MS ...

  7. Java使用极小的内存完成对超大数据的去重计数,用于实时计算中统计UV

    Java使用极小的内存完成对超大数据的去重计数,用于实时计算中统计UV – lxw的大数据田地 http://lxw1234.com/archives/2015/09/516.htm Java使用极小 ...

  8. (转)如何在Linux中统计一个进程的线程数

    如何在Linux中统计一个进程的线程数 原文:http://os.51cto.com/art/201509/491728.htm 我正在运行一个程序,它在运行时会派生出多个线程.我想知道程序在运行时会 ...

  9. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

随机推荐

  1. 推荐个开源在线文档,助道友领悟 Django 之“道”

    本文面向有手(需要一点点 Python Django 基础)的小伙伴,急需文档管理者食用最佳. 作者:HelloGitHub-吱吱(首发于 HelloGitHub 公众号) 嗷嗷待哺的小白:" ...

  2. hdu1358 最小循环节,最大循环次数 KMP

    题意:       给你一个字符串,让你找到一些字符串,这个字符串是从第一个字母开始的,并且他可以分成1个一上循环子结构够成的,比如 abcabcabc  那么当前的这个串就是三个abc构成的,他的A ...

  3. CMS Joomla SQL注入漏洞练习(CVE-2017-8917 )

    0x01 原理 1.Joomla是内容管理的网站程序,也就是CMS.漏洞原理是com_fields组件,对请求数据过滤不严谨,从而导致sql注入.这个就是有问题的代码,可以看出sql根本没有过滤,通过 ...

  4. Python技术栈性能测试工具Locust入门

    Locust是一款Python技术栈的开源的性能测试工具.Locust直译为蝗虫,寓意着它能产生蝗虫般成千上万的并发用户: Locust并不小众,从它Github的Star数量就可见一斑: 截止文章写 ...

  5. 复现Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)

    靶机IP(Ubuntu):192.168.43.185 攻击IP(kali):192.168.43.37 一.docker环境搭建 打开vulhub靶机,目录定位到vulhub-master/shir ...

  6. h5基本内容

    一 简介 html 超文本标记语言 W3C 中立技术标准机构 W3C标准包括 结构化标准语言(HTML,XML) 表现标准语言(CSS) 行为标准(DOM,ECMAScript) 二 入门例子 < ...

  7. 【mybatis】mybaits generator 逆向工程的使用

    mybatis逆向工程官方网站:http://www.mybatis.org/generator/quickstart.html 准备xml文件.如下generator.xml全部内容 <?xm ...

  8. 【SpringMVC】添加操作时返回400

    本博客老魏原创,如需转载请留言 问题描述: springmvc向数据库添加新的记录时,发生400错误,控制台没有抛出异常. 问题原因: 视图中的提交数据的某一个字段不不匹配导致. 解决方法: 不要怀疑 ...

  9. 段间跳转之TSS段

    TR寄存器,TSS描述符,TSS段 TR寄存器与普通的段寄存器一样都有可见部分和不可见部分.TR的可见部分为16位为其段选择子,不可见部分是32位的TSS基地址和16位的大小. TSS描述符存在GDT ...

  10. Flink去重统计-基于自定义布隆过滤器

    一.背景说明 在Flink中对流数据进行去重计算是常有操作,如流量域对独立访客之类的统计,去重思路一般有三个: 基于Hashset来实现去重 数据存在内存,容量小,服务重启会丢失. 使用状态编程Val ...