Echarts堆叠图 Tooltip提示信息 数量+百分比 显示

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>堆叠图</title>
	</head>
	<body>
		<div id="container" style="width:100%;height:600px;"></div>
		<!--其他样式自行加上即可-->
	</body>
	<script src="js/echarts-all.js"></script>
	<script type="text/javascript">
		$(document).ready(function() {

			// 基于准备好的dom,初始化echarts实例
			let myChart = echarts.init(document.getElementById('container'));
			// 指定图表的配置项和数据
			var option = {
				color: ['#81C1DC', '#3488AD', '#00557C', '#186D94'],
				tooltip: {
					trigger: 'axis',
					axisPointer: { // 坐标轴指示器,坐标轴触发有效
						type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
					},
					formatter: function(params) {//这里就是控制显示的样式
						var relVal = params[0].name;
						var value = 0;
						for (var i = 0, l = params.length; i < l; i++) {
							value += params[i].value;
						}
						for (var i = 0, l = params.length; i < l; i++) {
              //marker 就是带颜色的小圆圈 seriesName x轴名称  value  y轴值 后面就是计算百分比
							relVal += '<br/>'+ params[i].marker + params[i].seriesName + '  : 数量 : '+ parseFloat(params[i].value) +', 百分比 : ' + (100 *
								parseFloat(params[i].value) / parseFloat(value)).toFixed(2) + "%";
						}
						return relVal;
					},
				},
				legend: {
					data: ['0-3天', '0-5天', '0-7天', '0-10天']
				},
				grid: {
					left: '3%',
					right: '4%',
					bottom: '3%',
					containLabel: true
				},
				xAxis: {
					type: 'category',
					data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
				},
				yAxis: {
					type: 'value',
				},
				series: [{
						name: '0-3天',
						type: 'bar',
						stack: '总量',
						label: {
							show: true,
							position: 'insideTop'
						},
						data: [320, 302, 301, 334, 390, 330, 320]
					},
					{
						name: '0-5天',
						type: 'bar',
						stack: '总量',
						label: {
							show: true,
							position: 'insideTop'
						},
						data: [120, 132, 101, 134, 90, 230, 210]
					},
					{
						name: '0-7天',
						type: 'bar',
						stack: '总量',
						label: {
							show: true,
							position: 'insideTop'
						},
						data: [220, 182, 191, 234, 290, 330, 310]
					},
					{
						name: '0-10天',
						type: 'bar',
						stack: '总量',
						label: {
							show: true,
							position: 'insideTop'
						},
						data: [150, 212, 201, 154, 190, 330, 410]
					}
				]
			};
			// 使用刚指定的配置项和数据显示图表。
			myChart.setOption(option);
		});
	</script>
</html>

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ECharts 中,堆叠柱状图tooltip 默认会显示出每个柱子的数值,以及该柱子所属堆叠组的总数值。如果你想定制堆叠柱状图tooltip,可以使用 ECharts 提供的 formatter 属性来实现。 下面是一个示例代码,展示如何使用 formatter 来自定义堆叠柱状图tooltip: ```javascript option = { tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' // 显示阴影效果 }, formatter: function(params) { var seriesName = params[0].seriesName; var stackName = params[0].name; var totalValue = params[0].data; var currentValue = params[0].value; return seriesName + '<br/>' + stackName + ': ' + currentValue + '<br/>' + 'Total: ' + totalValue; } }, xAxis: { type: 'category', data: ['Category A', 'Category B', 'Category C'] }, yAxis: { type: 'value' }, series: [ { name: 'Series 1', type: 'bar', stack: 'stackGroup', data: [10, 20, 30] }, { name: 'Series 2', type: 'bar', stack: 'stackGroup', data: [15, 25, 35] } ] }; ``` 在这个示例中,我们通过 formatter 函数来自定义 tooltip 的内容。我们使用 `params` 参数来获取当前鼠标悬停的柱子的信息,并将其展示在 tooltip 中。`params` 是当前柱子的信息对象,你可以从中获取到 seriesName(系列名称)、name(堆叠组名称)、value(当前柱子值)以及 data(堆叠数值)等信息。 这样,你可以根据自己的需要来定制 tooltip 的内容,例如显示堆叠组的百分比、添加单位等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值