echarts利用graphic属性给饼图添加内圈图片及外圈图片(可自适应宽度位于饼图中心)

本文主要是介绍echarts利用graphic属性给饼图添加内圈图片及外圈图片(可自适应宽度位于饼图中心),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最终效果图:
在这里插入图片描述

目录

  • 前言
  • 资源
  • 主要部分
    • graphic介绍
    • style介绍
    • 代码
  • 加载饼图方法(option所有的配置)

前言

思路是看到这个博客启发的:点击跳转查看博客,然后在graphic属性里改了我的实际需求,譬如图片的宽高、图片位置等。

资源

外围图片、内维图片可以自己定义。这里主要用到了两个图片:
在这里插入图片描述

主要部分

graphic介绍

在图表的option配置里,给graphic添加图片以及图片设置。left和top均设置为"center",可根据屏幕分辨率自动判断中心位置。

graphic 用于添加自定义图形或文本元素到图表中的配置项,可添加文本、图形、图片等自定义元素,
这个属性通常用于创建一些特殊的标注或装饰,比如在特定位置添加一个文本标签、绘制一个自定义形状,或者放置一个图像等

常用的是添加文字和图片,下面是给图表通过graphic添加自定义文字的方法:

data.linebalance = 66.123;
option.graphic.push({type: "text",right: 155,top: 28,style: {text: "人工站线平衡率:",fill: "#fff", // 文字颜色fontSize: 14, // 文字大小},},{type: "text",right: 100,top: 28,style: {text: (data.linebalance * 100).toFixed(1) + "%",fill: "#fc8c1c", // 文字颜色fontSize: 14, // 文字大小},});
}

style介绍

style 是其中一个常用的属性,用于设置图形元素的样式

image:指定图形元素所使用的图片资源,可以是图片的 URL 或者 dataURI。
width:指定图形元素的宽度。可以是整数值(像素),也可以是百分比值。如果需要自适应图表宽度,可以使用百分比值,但需要注意,有些情况下百分比值可能导致图片不显示,这可能是因为容器大小未正确设置或者其他原因。
height:指定图形元素的高度。同样可以是整数值(像素)或者百分比值。
opacity:指定图形元素的不透明度,取值范围为 0(完全透明)到 1(完全不透明)之间。

代码

通过graphic添加自定义图片的方法:

graphic: [{type: "image",id: "logo",//唯一值,不可与其他graphic里的id一致left: "center", //调整图片位置top: "center", //调整图片位置z: -10,//确保图片在饼图下方//设置图片样式style: {image: centerImg,//   width: 80,//   height: 80,width: ciclrImgChart.getWidth() - 105,height: ciclrImgChart.getWidth() - 105,opacity: 1,},},{type: "image",id: "logo2",//唯一值,不可与其他graphic里的id一致left: "center",top: "center",z: -10,//设置图片样式 width、height只能用整型值,不可用百分比(会导致图片不显示)style: {image: outCircleImg,//   width: 200,//   height: 200,width: ciclrImgChart.getWidth() + 5,height: ciclrImgChart.getWidth() + 5,opacity: 1,},},],

加载饼图方法(option所有的配置)

// 初始化圈形图initCircleImgFun() {var centerImg = require("./images/你的内圈图片路径.png");var outCircleImg = require("./images/你的外圈图片路径.png");if (ciclrImgChart != null && ciclrImgChart != "" && ciclrImgChart != undefined) {ciclrImgChart.dispose();}ciclrImgChart = echarts.init(document.getElementById("circleImgChart"));var option;option = {// 用于添加自定义图形或文本元素到图表中的配置项,可添加文本、图形、图片等自定义元素graphic: [{type: "image",id: "logo",left: "center", //调整图片位置top: "center", //调整图片位置z: -10,//设置图片样式style: {image: centerImg,//   width: 80,//   height: 80,width: ciclrImgChart.getWidth() - 105,height: ciclrImgChart.getWidth() - 105,opacity: 1,},},{type: "image",id: "logo2",//唯一值,不可与其他graphic里的id一致left: "center",top: "center",z: -10,//设置图片样式 width、height只能用整型值,不可用百分比(会导致图片不显示)style: {image: outCircleImg,//   width: 200,//   height: 200,width: ciclrImgChart.getWidth() + 5,height: ciclrImgChart.getWidth() + 5,opacity: 1,},},],series: [{type: "pie",radius: ["85%", "65%"],data: [{ value: 60, name: "4H未上架", percent: "30%" },{ value: 60, name: "0~2H未上架", percent: "30%" },{ value: 10, name: "2~4H未上架", percent: "10%" },{ value: 60, name: "正在检验", percent: "30%" },],hoverAnimation: false,label: {normal: {show: false,},},color: ["#ff8d1a", "#29c4e3", "#2a82e4", "#43cf7c"],},],};option && ciclrImgChart.setOption(option);},

这篇关于echarts利用graphic属性给饼图添加内圈图片及外圈图片(可自适应宽度位于饼图中心)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

跨国公司撤出在华研发中心的启示:中国IT产业的挑战与机遇

近日,IBM中国宣布撤出在华的两大研发中心,这一决定在IT行业引发了广泛的讨论和关注。跨国公司在华研发中心的撤出,不仅对众多IT从业者的职业发展带来了直接的冲击,也引发了人们对全球化背景下中国IT产业竞争力和未来发展方向的深思。面对这一突如其来的变化,我们应如何看待跨国公司的决策?中国IT人才又该如何应对?中国IT产业将何去何从?本文将围绕这些问题展开探讨。 跨国公司撤出的背景与

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk

Spring MVC 图片上传

引入需要的包 <dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-

Prompt - 将图片的表格转换成Markdown

Prompt - 将图片的表格转换成Markdown 0. 引言1. 提示词2. 原始版本 0. 引言 最近尝试将图片中的表格转换成Markdown格式,需要不断条件和优化提示词。记录一下调整好的提示词,以后在继续优化迭代。 1. 提示词 英文版本: You are an AI assistant tasked with extracting the content of

研究人员在RSA大会上演示利用恶意JPEG图片入侵企业内网

安全研究人员Marcus Murray在正在旧金山举行的RSA大会上公布了一种利用恶意JPEG图片入侵企业网络内部Windows服务器的新方法。  攻击流程及漏洞分析 最近,安全专家兼渗透测试员Marcus Murray发现了一种利用恶意JPEG图片来攻击Windows服务器的新方法,利用该方法还可以在目标网络中进行特权提升。几天前,在旧金山举行的RSA大会上,该Marcus现场展示了攻击流程,

恶意PNG:隐藏在图片中的“恶魔”

&lt;img src=&quot;https://i-blog.csdnimg.cn/blog_migrate/bffb187dc3546c6c5c6b8aa18b34b962.jpeg&quot; title=&quot;214201hhuuhubsuyuukbfy_meitu_1_meitu_2.jpg&quot;/&gt;&lt;/strong&gt;&lt;/span&gt;&lt;

HTML5自定义属性对象Dataset

原文转自HTML5自定义属性对象Dataset简介 一、html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征、窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: <a href="javascript:" d

PHP抓取网站图片脚本

方法一: <?phpheader("Content-type:image/jpeg"); class download_image{function read_url($str) { $file=fopen($str,"r");$result = ''; while(!feof($file)) { $result.=fgets($file,9999); } fclose($file); re