IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> echarts之饼图 -> 正文阅读

[JavaScript知识库]echarts之饼图

普通饼图

只是记录一下做项目时遇到的部分设置,真想搞明白,还是看文档

// 图形的div,需要设置样式给他一个宽高
<div class="table" ref="myChartsCapital"></div>


// 初始化饼图,主要是配置setOption里的值
let myChart = this.$echarts.init(this.$refs.myChartsCapital)
myChart.setOption({
	// 图表的主副标题的位置及文字样式设置
	title: {
		show: true,
        text: '饼图主标题',
        subtext: '饼图副标题',
        itemGap: 6, // 主副标题的间距
        left: 'center',
        textStyle: { // 主标题文本样式
      		color: "#fff",
      		fontStyle: "normal",
      		fontWeight: "normal",
      		fontFamily: "sans-serif",
      		fontSize: 18,
      		lineHeight: "30",
    	},
    	subtextStyle: {} // 副标题文本样式
    },
    
    graphic: [  //为环形图中间添加文字,title也能实现
        {
        type: "text",
        left: "center",
        top: "center",
        style: {
            text: "添加文本,还没看能不能设置不同的样式",
            textAlign: "center",
            fill: "#32373C",
            fontSize: 18,
        },
        },
    ],
    
    // 提示框组件
    tooltip: {
    	show:true,
        // 触发类型,item在无坐标轴的图表中使用,axis在有坐标轴的图表中使用
        trigger: 'item',
        triggerOn:"mousemove", // 触发条件,mousemove或click等
        textStyle: {},
        // 自定义提示框内容,默认是series里的name和data数据(必须有个name)
        formatter: (value) => {
        	return value.name + ''
        }
    },
    
    // 图例,这个有点麻烦
    legend: {
        orient: 'vertical', //图例方向,horizontal(默认横向)、vertical(垂直)
        data: data,
        icon: 'circle', // 图例形状,默认为方形,none为空,具体看文档
        itemGap: 10, // 图例之间的间隔
        itemWidth: 10, // 图例的长宽
        itemHeight: 10,
        left: 'center',
        padding: [5, 5, 5, 5],
        // 自定义图例文本内容,并换行
        formatter: (name) => {
        	let data = this.data;
            let value;
            let per
            for (let i = 0, l = data.length; i < l; i++) {
              if (data[i].name == name) {
                value = data[i].value;
                per = data[i].per
              }
            }
            let arr = [
              '{a|' + name + '}',
              '{b|' + value + '件}' + '{c|' + per + '%}' + '{d|' + ' ' + '}'
            ]
            return arr.join('\n')
        },
        // 自定义图例富文本样式
        textStyle: {
            rich: {
              a: {
                fontFamily: 'PingFang SC',
                fontSize: '0.1rem',
                fontWeight: 'Bold',
                color: '#333',
                align: 'left',
                padding: [28, 0, 0, 0],
              },
              b: {
                width: 200 // 文本宽度,使文本换行后能够对齐
              },
              c: {}
            }
        },
    },
    
    // 渲染数据
    series: [
    	{
    		name: '环形图', // 用于tooltip的显示,legend图例筛选
            type: 'pie',
            // radius: '50%', // 饼图
            radius: ['40%', '70%'], // 环形图
            // roseType: 'radius',  // 南丁格尔玫瑰图
            center: ['50%', '50%'], // 圆心位置
            selectedMode: 'single', // 点击后跟饼图分离,挺有意思的
            avoidLabelOverlap: false, // 是否启用防止标签重叠策略,默认开启
            data: this.data,
            itemStyle: {
                borderRadius: 10, // 实现圆角环形图
                borderColor: '#fff',
                borderWidth: 2
            },
            // 图像的文本标签
            label: {
            	show: false,
            	position: 'center' // outside(外侧)、inside(同inner,内部)
            },
            // 是否显示引导线
            labelLine: {
             	show: false
            },
            emphasis: {
            	// 环形图高亮部分文本,默认显示
                label: {
                    show: false,
                    fontSize: '40',
                    fontWeight: 'bold'
                }
            },
    	},
    	// 写两个环形图,设置不同半径,可以实现同心圆效果
    	{...}
	]
})

// 图表初始化之后,加个监听实现图表自适应
window.addEventListener("resize", function () {
	myChart.resize();
});
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 11:39:18  更:2021-09-09 11:40:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 20:35:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计