echarts之rich小解

本文介绍使用ECharts 4.2.1-rc.1版本创建饼状图,并利用其新增的Rich Text特性来定制图例样式。通过具体示例代码展示了如何设置不同部分的样式,如颜色和对齐方式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好久没写echarts图形了,看到新增了rich特性,耐不住想小试一番,心心念念下载 4.2.1-rc.1版本的echarts
然后

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>echarts之富文本小解</title>
	</head>

	<script type="text/javascript" src="js/jquery-1.8.3.min.js" ></script>
	<script type="text/javascript" src="js/echarts.js" ></script>
	
	<body>
		<div id="id-pie" style="width: 600px;height:400px;background: green;"></div>
	</body>
	<script>
	$(function(){
		var _data = [
			{value:335, name:'直达'},
	        {value:679, name:'营销广告'},
	        {value:1548, name:'搜索引擎'}
        ]
		videoProportionPie(_data) 
	});
	function videoProportionPie(data) {
	    // 基于准备好的dom,初始化echarts实例
	    var myChart = echarts.init(document.getElementById("id-pie"));
	    // 指定图表的配置项和数据
	    var option = {
	        color: ["#20AAB0", "#81E1AB", "#61EBF9", "#E2E466", "#01c8ff", "#0088e6", "#07faaa", "#5b5eeb", "#a0f2c4", "#01e9ff", "#00c7fe", "#0099ff", "#097cfd"],
	        tooltip: {
	            trigger: 'item',
	            formatter: "{b} <br/>{a} : {c} "
	        },
	        legend: {

	            orient: 'vertical',
	            right: 5,
	            top: 'middle',
	            data: ['直达','营销广告','搜索引擎'],
	            formatter: function (name) {
	                var arr = [];
	                var index = 0;
	                var total = 0;
	                for (var i = 0; i < data.length; i++) {
	                    total += data[i].value;
	                    if (data[i].name == name) {
	                        index = i;
	                    }
	                }

	                arr.push('{name|' + name + '}',
	                    '{pre|' + ((data[index].value / total) * 100).toFixed(1) + '%}',
	                    '{value|' + data[index].value + '}');
	                return arr.join('');
	            },
	            textStyle: {
	                color: '#FFFFFF',
	                rich: {
	                    name: {
	                        align: 'left',
	                        color: 'red',
	                        width: 80
	                    },
	                    pre: {
	                        align: 'left',
	                        color: 'blue',
	                        width: 55,
	                        padding: [0, 5, 0, 10]
	                    },
	                    value: {
	                        align: 'left',
	                        color: '#000',
	                        width: 60
	                    }
	                }
	            }
	        },
	        series: [{
	            name: '视频接入数',
	            type: 'pie',
	            radius: '60%',
	            center: ['23%', '50%'],
	            clockwise: false,
	            selectedMode: 'single',
	            startAngle: 180,
	            data: data,
	            label: {
	                normal: {
	                    show: false
	                }
	            },
	            itemStyle: {
	                emphasis: {
	                    shadowBlur: 10,
	                    shadowOffsetX: 0,
	                    shadowColor: 'rgba(0, 0, 0, 0.5)'
	                }
	            }
	        }]
	    };
	// 使用刚指定的配置项和数据显示图表。
	    myChart.setOption(option);
	    $(window).resize(function () {
	        myChart.resize();
	    });
	}
	</script>
</html>

然后图例的总是重叠在一起,检查一下用法,并未发现异样。

下载 3.8.5版本echarts

在这里插入图片描述
出来了

### 关于 ECharts 树状图的高级配置与用法 #### 配置项详解 ECharts 提供了丰富的配置选项来定制树状图的表现形式。通过调整 `series` 下的各种属性可以实现不同的视觉效果和交互功能。 - **节点样式设置** 可以自定义节点的颜色、大小以及标签显示方式: ```javascript series: [{ type: 'tree', top: '1%', left: '7%', bottom: '1%', right: '20%', symbolSize: [80, 40], label: { position: 'left', verticalAlign: 'middle', align: 'right', fontSize: 9 }, itemStyle: { color: '#749f83' } }] ``` - **布局控制** 支持多种布局模式,如径向布局(radial)、正交布局(orthogonal),并允许指定根结点位置等参数[^1]。 ```javascript series: [{ type: 'tree', layout: 'radial', // 或者 "orthogonal" expandAndCollapse: true, initialTreeDepth: -1, roam: true }] ``` - **数据源格式** 数据可以通过简单的数组结构提供,也可以采用更复杂的 JSON 对象表示父子关系复杂的数据集。 ```json [ { name: 'Node A', children: [ {name: 'Child Node B'}, {name: 'Child Node C'} ] } ] ``` #### 实际案例展示 为了更好地理解这些配置的实际应用,这里给出一个完整的例子,展示了如何创建一棵具有特定样式的树形图表,并启用了鼠标悬停提示等功能。 ```html <!DOCTYPE html> <html style="height: 100%"> <head> <meta charset="utf-8"> <title>ECharts</title> <script src="https://cdn.jsdelivr.net/npm/echarts@latest/dist/echarts.min.js"></script> </head> <body style="height: 100%; margin: 0"> <div id="main" style="height: 100%"></div> <script type="text/javascript"> var dom = document.getElementById('main'); var myChart = echarts.init(dom); var app = {}; option = null; app.title = 'ECharts Tree Chart'; option = { tooltip: {}, series : [ { type: 'tree', data: [{ name: 'Root', value: 10, children: [ {name: 'Child 1', value: 6}, {name: 'Child 2', value: 6} ] }], top: '1%', left: '7%', bottom: '1%', right: '20%', symbol: 'emptyCircle', symbolSize: [80, 40], orient: 'vertical', expandAndCollapse: true, label: { position: 'left', verticalAlign: 'middle', align: 'right', fontSize: 9 }, leaves: { label: { normal: { rotate: 0, verticalAlign: 'bottom', align: 'right', fontSize: 9 } } }, itemStyle: { color: '#749f83' }, animationDurationUpdate: 750 } ] }; if (option && typeof option === 'object') { myChart.setOption(option); } </script> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值