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

相关文章

Spring Boot 事务详解(事务传播行为、事务属性)

《SpringBoot事务详解(事务传播行为、事务属性)》SpringBoot提供了强大的事务管理功能,通过@Transactional注解可以方便地配置事务的传播行为和属性,本文将详细介绍Spr... 目录Spring Boot 事务详解引言声明式事务管理示例编程式事务管理示例事务传播行为1. REQUI

使用Vue-ECharts实现数据可视化图表功能

《使用Vue-ECharts实现数据可视化图表功能》在前端开发中,经常会遇到需要展示数据可视化的需求,比如柱状图、折线图、饼图等,这类需求不仅要求我们准确地将数据呈现出来,还需要兼顾美观与交互体验,所... 目录前言为什么选择 vue-ECharts?1. 基于 ECharts,功能强大2. 更符合 Vue

Java实现图片淡入淡出效果

《Java实现图片淡入淡出效果》在现代图形用户界面和游戏开发中,**图片淡入淡出(FadeIn/Out)**是一种常见且实用的视觉过渡效果,它可以用于启动画面、场景切换、轮播图、提示框弹出等场景,通过... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细

Java如何根据文件名前缀自动分组图片文件

《Java如何根据文件名前缀自动分组图片文件》一大堆文件(比如图片)堆在一个目录下,它们的命名规则遵循一定的格式,混在一起很难管理,所以本文小编就和大家介绍一下如何使用Java根据文件名前缀自动分组图... 目录需求背景分析思路实现代码输出结果知识扩展需求一大堆文件(比如图片)堆在一个目录下,它们的命名规

将图片导入Python的turtle库的详细过程

《将图片导入Python的turtle库的详细过程》在Python编程的世界里,turtle库以其简单易用、图形化交互的特点,深受初学者喜爱,随着项目的复杂度增加,仅仅依靠线条和颜色来绘制图形可能已经... 目录开篇引言正文剖析1. 理解基础:Turtle库的工作原理2. 图片格式与支持3. 实现步骤详解第

在React聊天应用中实现图片上传功能

《在React聊天应用中实现图片上传功能》在现代聊天应用中,除了文字和表情,图片分享也是一个重要的功能,本文将详细介绍如何在基于React的聊天应用中实现图片上传和预览功能,感兴趣的小伙伴跟着小编一起... 目录技术栈实现步骤1. 消息组件改造2. 图片预览组件3. 聊天输入组件改造功能特点使用说明注意事项

全解析CSS Grid 的 auto-fill 和 auto-fit 内容自适应

《全解析CSSGrid的auto-fill和auto-fit内容自适应》:本文主要介绍了全解析CSSGrid的auto-fill和auto-fit内容自适应的相关资料,详细内容请阅读本文,希望能对你有所帮助... css  Grid 的 auto-fill 和 auto-fit/* 父元素 */.gri

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

python实现svg图片转换为png和gif

《python实现svg图片转换为png和gif》这篇文章主要为大家详细介绍了python如何实现将svg图片格式转换为png和gif,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录python实现svg图片转换为png和gifpython实现图片格式之间的相互转换延展:基于Py