Echarts image 使用

news2024/10/7 4:32:19
  1. 通过image:'//...xx.png' 在扇形图中可能会失败,可以将需要载入的img转换成base64直接载入

  1. 可以通过背景色来载入图片

backgroundColor: {
    image: 'xxx/xxx.jpg'
},

实例(扇形图):

var option = {
            tooltip: {
                trigger: "item",
                show: true,
                formatter: "{a} <br/>{b}: {c} ({d}%)",
            },
            //手动添加文本及绘制列表
            graphic: [{
                type: 'text',
                left: '85',
                top: '115',
                style: {
                    text: 'Crash device', //使用“+”可以使每行文字居中
                    fontSize: "20px",
                    textAlign: 'center',
                    fill: '#000',
                    width: 30,
                    height: 30
                }
            },{
                type: 'text',
                left: 310,
                top: '30',
                style: {
                    text: 'Version', //使用“+”可以使每行文字居中
                    fontSize: "16px",
                    textAlign: 'center',
                    fill: '#000',
                    width: 30,
                    height: 30
                }
            },{
                type: 'text',
                left: 490,
                top: '30',
                style: {
                    text: 'Times', //使用“+”可以使每行文字居中
                    fontSize: "16px",
                    textAlign: 'center',
                    fill: '#000',
                    width: 30,
                    height: 30,
                }
            }, {
                type: 'text',
                left: 560,
                top: '30',
                style: {
                    text: 'Devices', //使用“+”可以使每行文字居中
                    fontSize: "16px",
                    textAlign: 'center',
                    fill: '#000',
                    width: 30,
                    height: 30
                }
            }, {
                type: 'text',
                left: 632,
                top: '30',
                style: {
                    text: 'Crash%', //使用“+”可以使每行文字居中
                    fontSize: "16px",
                    textAlign: 'center',
                    fill: '#000',
                    width: 30,
                    height: 30
                }
            }, {
                type: 'text',
                left: 715,
                top: '30',
                style: {
                    text: 'AVG. times', //使用“+”可以使每行文字居中
                    fontSize: "16px",
                    textAlign: 'center',
                    fill: '#000',
                    width: 30,
                    height: 30
                }
            }, {
                type: 'text',
                left: 815,
                top: '30',
                style: {
                    text: 'AVG. devices', //使用“+”可以使每行文字居中
                    fontSize: "16px",
                    textAlign: 'center',
                    fill: '#000',
                    width: 30,
                    height: 30
                }
            }
            ],
            //展示数据
            legend: {
                icon: 'bar',
                itemWidth: 10,
                itemHeight: 10,
                itemGap: 15,
                orient: 'vertical',
                align: 'left',
                top: 50,
                left: 300,
                padding: [5, 10],
                data: dates,
                formatter: function (name) {
                    //通过name也就是version进行数据处理
                    var total = 0;
                    var target = 0;
                    for (var i = 0, l = data.length; i < l; i++) {
                        total += data[i].value;
                        if ((data[i].name == name) && data[i].value) {
                            target = data[i].value;
                        }
                    }
                    var newName = ''
                    if (name.length > 25) {
                        newName = name.slice(0, 25) + '...'
                    } else {
                        newName = name
                    }
                    var crashTimesNew = 0
                    if (crashTimes[name]) {
                        crashTimesNew = crashTimes[name]
                    }
                    var crashDeviceRatioNew = '0%'
                    if (crashOther[name] && crashOther[name]['crashDeviceRatio']) {
                        crashDeviceRatioNew = crashOther[name]['crashDeviceRatio']
                    }
                    var deviceAverageNew = 0
                    if (crashOther[name] && crashOther[name]['deviceAverage']) {
                        deviceAverageNew = crashOther[name]['deviceAverage']
                    }
                    var averagePerSetNew = 0
                    if (crashOther[name] && crashOther[name]['averagePerSet']) {
                        averagePerSetNew = crashOther[name]['averagePerSet']
                    }
                    var arr = [                    
                        '{a|' + newName + '}',
                        '{b| ' + crashTimesNew + '}',
                        '{c|' + target + '}',
                        '{d|' + crashDeviceRatioNew + '}',
                        '{e|' + deviceAverageNew + '}',
                        '{f|' + averagePerSetNew + '}',

                    ]
                    if(proVersion.includes(name)){
                        arr.splice(1, 0, "{g|}")
                    }else{
                        arr.splice(1, 0, "{h|}")
                    }
                    return arr.join('')

                },
                textStyle: {
                    color: '#7a7a7a',
                    rich: {
                        a: {
                            fontSize: "14px",
                            width: 138,
                            lineHeight: 25,
                            top: '0px',
                            color: '#000'
                        },
                        //背景图
                        g:{
                            backgroundColor: {
                                image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAV1JREFUWEftmCFPQzEUhc+dIMFgUBgMon3JPAJFMsMkCrGE4PkFCCBB7BfgCckECjlFMoWAHwAYQrtHggGDYXcvLXkbiLeMvWwDekWfbZp+Pef0tu8ShH8knA8TAe9WF44LG3Cuk6RZ5z83VQpIwNE3kHduMwKO2DOVgn9sbUtbboyuIQXwlbzfUt3+rUxAwqE2fDLOIQkKXmvLGz/FJzggEdWV6bVFAnrgLLG8N+nwhVTwRVteKasM4QAJDW24JRPQo627XC+Dy8eDKJg5Xq6meBMLiEVe0g94lwsIXGjLO5IBQajUlP24KoMMksGv8D8qy2tiAXMwDxwklptSC/WAK3N+vZr2b0RedQOrCZfK8LZYwCEk7SvTO5X63Mq5nqmCmnrie5kP1uGBOU8s784FGP/qxoRwqkIdFYwKll2sM4zHDM4gWmFKVDAqKL6BWbBIWgt43vz8xnzxXf5P5D3vKX3qWRoAAAAASUVORK5CYII='
                            },
                            fontSize: "14px",
                            width: 20,
                            lineHeight: 25,
                        }, 
                        h:{
                            fontSize: "14px",
                            width: 20,
                            lineHeight: 25,
                        },
                        b: {
                            fontSize: "14px",
                            width: 80,
                            lineHeight: 25,

                        },
                        c: {
                            fontSize: "14px",
                            width: 75,
                            lineHeight: 25,

                        },
                        d: {
                            fontSize: "14px",
                            width: 80,
                            lineHeight: 25,

                        },
                        e: {
                            fontSize: "14px",
                            width: 100,
                            lineHeight: 25,

                        },
                        f: {
                            fontSize: "14px",
                            width: 80,
                            lineHeight: 25,
                        },
                    }
                }
            },
            series: [{
                type: 'pie',
                //环形显示饼状图,实际上显示的是50-80之间的部分
                //上限不建议设置为100,echarts自带动画效果,设置为100动画效果很丑
                radius: ['70', '120'],
                center: ['150', '125'],
                // hoverAnimation: false, //鼠标移入变大
                // silent: true,
                data: data,
                label: {
                    //将视觉引导图关闭
                    show: false,
                    position: 'center',
                },
                itemStyle: {
                    normal: {
                        label: {
                            show: true,
                            formatter: '{d}' + '%',
                            position: 'inner',
                            color: "#ffffff"
                        },
                        //设置的是每项之间的留白
//                          borderWidth: 3,
//                          borderColor: '#fff'
                    },

                },
                // 初始化echarts的动画效果
                animationType: 'scale',
                animationEasing: 'elasticOut',
                animationDelay: function (idx) {
                    return Math.random() * 200;
                }
            }],
        };

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/154453.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何用用C++实现通达信接口调用?有哪些技巧

c作为三大计算机语言之一&#xff0c;在编程时很受投资者的偏爱&#xff0c;特别是在通达信接口软件开发时C更是担任着重要的开发角色&#xff0c;今天小编就来和大家说一下如何用C实现通达信接口调用&#xff1f; 用C查询股份数据代码&#xff08;部分&#xff09; std::cou…

C4D和Maya哪个学起来更容易

Maxon Cinema 4D和 Autodesk Maya 是最著名的两种 3D 软件&#xff0c;艺术家和工作室经常在许多领域使用它们。它们都有不同的功能&#xff0c;在本文中&#xff0c;让我们对它们进行比较。我们将尝试向您概述它们之间的主要区别&#xff0c;以及这两者的功能。哪一个更容易使…

2: [SpringData集成Elasticsearch] --- 配置打印命令日志

文章目录一&#xff1a;引入SpringDataElasticsearch依赖二&#xff1a;创建RestHighLevelClient配置类三&#xff1a;配置YML&#xff1a; logging.level --- 日志等级三&#xff1a;请求接口&#xff0c;查看日志3.1&#xff1a;请求代码3.2&#xff1a;Postman请求地址3.3&a…

LayoutInflater学习(一)之布局解析

LayoutInflater的创建与实例化 LayoutInflater是位于 "android.view" 包下的一个抽象类,同样它也是一个系统级服务 package android.view; SystemService(Context.LAYOUT_INFLATER_SERVICE) public abstract class LayoutInflater { LayoutInflater是用来解析 xml…

桌面录屏软件,分享3个十分便捷的录屏软件

​图片和视频都是人们传播信息的方式&#xff0c;不过相比于图片&#xff0c;视频能够更加直观生动的表达信息。在日常生活中&#xff0c;除了屏幕上记录一些应用程序的内容外&#xff0c;有时我们还需要记录电脑桌面。有更好的桌面录屏软件吗&#xff1f;当然&#xff0c;小编…

Git操作不规范,战友提刀来相见!

年终奖都没了&#xff0c;还要扣我绩效&#xff0c;门都没有&#xff0c;哈哈。 这波骚Git操作我也是第一次用&#xff0c;担心闪了腰&#xff0c;所以不仅做了备份&#xff0c;也做了笔记&#xff0c;分享给大家。 文末留言抽奖&#xff0c;聊聊你的年终奖。 问题描述 小A和…

C++多线程(并发、进程、线程的基本概念和综述)

并发、进程、线程的基本概念和综述 并发 并发表示两个或者更多任务(独立的活动)同时发生(进行)。例如&#xff0c;一面唱歌一面弹琴&#xff0c;一面走路一面说话&#xff0c;画画的时候听小说等。回归到计算机领域&#xff0c;所谓并发&#xff0c;就是一个程序同时执行多个…

html 3D立体多形态旋转音乐相册 | 2022都结束了,还不快给女神制作一个特殊的纪念相册

&#x1f4cb; 前言 &#x1f5b1; 博客主页&#xff1a;在下马农的碎碎念✍ 本文由在下马农原创&#xff0c;首发于CSDN&#x1f4c6; 首发时间&#xff1a;2023/01/07&#x1f4c5; 最近更新时间&#xff1a;2023/01/07&#x1f935; 此马非凡马&#xff0c;房星本是星。向前…

零基础掌握IP地址知识,小白必学知识点!

前言 大家好&#xff0c;在生活中我们使用具有上网功能的电子设备都有IP地址&#xff0c;就跟每个人都有自己的名字一样。IP地址分为IPV4 IPV6&#xff0c;我们所说的的IP地址指的是IPV4的地址。 正文 IPV4( Internet Protocol Version 4 )互联协议版本4&#xff0c;有版本V4之…

【HTML+CSS+JavaScript】动感爱心—— I love you~

有段时间没有分享了,no time。 还是抽出一会儿分享一下。有时间会解析的(具体…I don’t know)。 1. 效果展示 真实效果挺好看的,喜欢的朋友,可以给你的女朋友或者喜欢的TA看看呀! 可以根据实际情况修改文案,比如诗歌,或者你爱的人的名字哦~ 2. 源代码分享 2.1 动感…

在Ubuntu上安装docker(Ubuntu版本18.04)

在Ubuntu上安装docker详细步骤1、卸载之前的docker版本2、安装docker仓库3、在系统中添加Docker的官方密钥4、添加docker源5、再次更新源列表6、查看可以安装的docker版本并安装docker7、使用命令查看是否安装成功以及安装的docker版本8、启动 docker服务并设置开机自动启动doc…

FPGA基础之modelsim常见问题

目录 问题一&#xff1a;modelsim破解失败 1&#xff09;现象 2&#xff09;原因 ​ 3&#xff09; 解决 问题一&#xff1a;modelsim破解失败 1&#xff09;现象 modelsim激活失败&#xff0c;原先正常使用过的&#xff0c;重新卸载安装破解&#xff0c;设置环境变量…

Serverless 奇点已来,下一个十年将驶向何方?

本文整理自 QCon 上海站 2022 丁宇&#xff08;叔同&#xff09;的演讲内容。 以前构建应用&#xff0c;需要买 ECS 实例&#xff0c;搭建开源软件体系然后维护它&#xff0c;流量大了扩容&#xff0c;流量小了缩容&#xff0c;整个过程非常复杂繁琐。 用了 Serverless 服务以…

【如何添加本地jar包到maven依赖】

如何添加本地jar包到maven依赖 1、本地jar包和对应依赖如下图&#xff08;刚开始这俩依赖是报红的&#xff09; 2、执行mvn命令如下&#xff1a; mvn install:install-file -DfileD:\ht_mesis-platform\mesis-business\dandian4-1.0.0.jar -Dpackagingjar -DgroupIddandian4…

Java实战:Hutool类库中的DateUtil用法总结

❤️作者主页&#xff1a;IT技术分享社区 ❤️作者简介&#xff1a;大家好,我是IT技术分享社区的博主&#xff0c;从事C#、Java开发九年&#xff0c;对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️荣誉&#xff1a; CSDN博客专家、数据库优质创作者&#x1f3c6;&…

微信小程序 | 一比一复刻抖音短视频

&#x1f4cc;个人主页&#xff1a;个人主页 ​&#x1f9c0; 推荐专栏&#xff1a;小程序开发成神之路 --【这是一个为想要入门和进阶小程序开发专门开启的精品专栏&#xff01;从个人到商业的全套开发教程&#xff0c;实打实的干货分享&#xff0c;确定不来看看&#xff1f; …

Java中常用API总结(6)——BigInteger类

BigInteger类一、前言二、概述1.API帮助文档2.使用方法三、常见方法1.构造方法1️⃣格式2️⃣实例2.成员方法1️⃣格式2️⃣实例四、注意事项五、结语一、前言 平时在存储整数的时候&#xff0c;Java中默认是int类型&#xff0c;int类型有取值范围&#xff1a;-2147483648 ~ 2…

【深入理解JVM】内存模型

目录 运行时数据区域 程序计数器 Java虚拟机栈 本地方法栈 Java堆 方法区 运行时常量池 直接内存 虚拟机对象探秘 对象的创建 对象的内存布局 运行时数据区域 程序计数器 程序计数器是一块较小的内存空间&#xff0c;存储当前线程所执行的字节码指令的地址。在java…

C#开发的资源文件程序(可国际化) - 开源研究系列文章

上次将小软件的线程池描述了&#xff0c;也将插件程序描述了&#xff0c;这次就将里面的资源文件相关的内容进行下记录&#xff0c;这里能够让程序做成国际化的形式(即多语言程序)&#xff0c;主要就是通过这个资源文件的方式进行的处理。下面将对这个资源文件的定义进行描述&a…

多线程之waitnotify

目录&#xff1a; 前言 1.wait()方法 2 notify()方法 3.wait & notify的代码示例&#xff1a; 4.关于notifyAll()方法 前言 线程最大的问题就是抢占式执行&#xff0c;随机调度。虽然线程在操作系统内核里的调度是随机的&#xff0c;但是可以通过一些办法来控制线程…