本文介绍: 好多博主用的都是echarts中 barGap 为 ‘-100%’ 让两个系列的柱子重叠 从而实现顶部显示总数 但是这种方法只适合 这一个X轴 只有一个堆叠柱状图 我的需求是一个X轴项 有两个堆叠柱状图 用了这种方法后并不适用该项目,这种方法的思路是单独出一个数据 然后移动该数据的位置 从而实现重叠显示,既然这种思路不适用该项目 转变思路 直接改变他显示的lable不就可以了 有想法了就去实践。左边的柱状图顶部显示所有堆叠图数据的总和 右边柱状图顶部也显示所有堆叠数据的总和。
左边的柱状图顶部显示所有堆叠图数据的总和 右边柱状图顶部也显示所有堆叠数据的总和
- 先上效果图
好多博主用的都是echarts中 barGap 为 ‘-100%’ 让两个系列的柱子重叠 从而实现顶部显示总数 但是这种方法只适合 这一个X轴 只有一个堆叠柱状图 我的需求是一个X轴项 有两个堆叠柱状图 用了这种方法后并不适用该项目,这种方法的思路是单独出一个数据 然后移动该数据的位置 从而实现重叠显示,既然这种思路不适用该项目 转变思路 直接改变他显示的lable不就可以了 有想法了就去实践
- 首先顶部显示数字
{
name: lastAdStack.name,
type: "bar",
stack: "Ad",
label: {
normal: {
show: true,// 显示label
position: "top", // 显示的label的位置
}
},
data: [],//数据
}
label提供了一个formatter 方法 来对显示的文字进行处理,、只需要在你堆叠柱状图的最后一个数据上这么处理就可以修改他的显示label 但是他的data数据不要改变 这样就不会影响到他的柱状高度的显示 同时label进行了修改
{
name: lastAdStack.name,
type: "bar",
stack: "Ad",
label: {
normal: {
show: true,
position: "top",
// 首先把所有项的总和都算出来按照固定的顺序方法zonghe这个数组中
然后在方法中用下标对应上总和方法 return出来就可以改变他的label现实文字
formatter: function (params) {
var index = params.dataIndex;
return zonghe[index]
},
}
},
data: [],
}
这样基本完事 后面的第二个柱状图也是这样 只要放到zonghe这个数组中的数据跟你显示的数据能一一对应上 数据就不会错 鼠标悬浮上显示的tooltip数据也不会错
假如你想在鼠标悬浮时tooltip中不显示某一项
在echarts的option中 tooltip设置项
tooltip: {
trigger: "axis",
axisPointer: {
type: "shadow",
},
formatter: (params) => {
var res = params[0].name
for (var i = 0; i < params.length; i++) {
if (this.adStackArr[params[i].seriesIndex].name != null) {
// 这行代码就是判断语句 具体情况 具体分析 自己打印params 来实现自己的判断
res += `<div >
<span style="display:inline-block;margin-right:5px;border-radius:50%;width:10px;height:10px;background-color:${[
params[i].color,
]};"></span>
${params[i].seriesName}
${params[i].data}
</div>`;
}
}
return res; //最后返回的数据得一个字符串 并且支持html css 显示我用的都是行内式样式 拼接成一个字符串 给最后显示 数遍悬浮的样式也是在这里设置 你的字符串是什么样式 渲染出来就是什么样的
}
},
至此 大功告成
原文地址:https://blog.csdn.net/weixin_44167138/article/details/131064070
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_27484.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。