如何动态设置图表的最大值和最小值

yh_xishan白银四 显示全部楼层 发表于 2021-11-4 08:49:49 |阅读模式 打印 上一主题 下一主题
1
已解决

如何动态设置图表的最大值和最小值

5087 23
帮助文档中的这个方法,使用后一直报错,版本是8.6.5b
WechatIMG9.png

最佳答案

永洪vip
美滋滋 皇冠三 关注Ta

2021-11-04 08:49:50

我刚做了一个范例,如下图,图中我放了一个柱图组件,分别绑定了一个维度(会员等级),一个度量(剩余库存数),一个标签(门店),右边用一个表格可以看到数据内容。弹出的数据是我用脚本从柱图中分组合计出的结果,可以看到在结果中显示的数据和实际数据是匹配的。脚本如下: var data = getData('图表1') var i = 1; var tmptype = ''; var tmpsum = 0; var sumlist = []; var maxdata = 0; var maxmin = 0; for (i=1;i ...
查看完整内容
回复

使用道具 举报

精彩评论23

美滋滋皇冠三 显示全部楼层 发表于 2021-11-4 08:49:50
我刚做了一个范例,如下图,图中我放了一个柱图组件,分别绑定了一个维度(会员等级),一个度量(剩余库存数),一个标签(门店),右边用一个表格可以看到数据内容。弹出的数据是我用脚本从柱图中分组合计出的结果,可以看到在结果中显示的数据和实际数据是匹配的。脚本如下:
var data = getData('图表1')
var i = 1;
var tmptype = '';
var tmpsum = 0;
var sumlist = [];
var maxdata = 0;
var maxmin = 0;

for (i=1;i<data.size();i++) {
    if (tmptype != data.get(i,0)) {
        tmptype = data.get(i,0)
        if (i != 1) {
            sumlist.push(tmpsum)
        }
        tmpsum = 0
        tmpsum += data.get(i,2)
    }else{
        tmpsum += data.get(i,2)
    }
}
sumlist.push(tmpsum)

maxdata = Math.max.apply(null, sumlist)
mindata = Math.min.apply(null, sumlist)
debug("最大值:" + maxdata)
debug("最小值:" + mindata)

//最终我把所有会员等级的合计剩余库存放在了数组sumlist中。同时获取了最大的合计值放在了maxdata中,最小的合计值放在了mindata中


无标题.png
回复

使用道具 举报

永洪Tech-CIDX白银二 来自手机 显示全部楼层 发表于 2021-11-4 09:35:49
麻烦截下组件的截图和绑定字段的截图,以及设定的位置
回复

使用道具 举报

yh_xishan白银四 显示全部楼层 发表于 2021-11-4 10:02:13
按照文档走的一个例子
WechatIMG11.png
WechatIMG12.png
回复

使用道具 举报

永洪Tech-CIDX白银二 显示全部楼层 发表于 2021-11-4 10:32:14
修改下17行及下面的脚本:表示销量字段总计时,新版本是: Sum_度量名

图表1.binding.axis["Sum_销量"].max=max//设置刻度最大值

图表1.binding.axis["Sum_销量"].min=min//设置刻度最小值

图表1.binding.axis["Sum_销量"].majorIncrement=major//设置主要刻度
回复

使用道具 举报

yh_xishan白银四 显示全部楼层 发表于 2021-11-4 10:36:37
永洪Tech-wj 发表于 2021-11-4 10:32
修改下17行及下面的脚本:表示销量字段总计时,新版本是: Sum_度量名

图表1.binding.axis["Sum_销量"].ma ...

请问如何获取一个图表的y轴刻度最大值
回复

使用道具 举报

永洪Tech-CIDX白银二 显示全部楼层 发表于 2021-11-4 10:47:56
yh_xishan 发表于 2021-11-4 10:36
请问如何获取一个图表的y轴刻度最大值

var a = 图表1.binding.axis["Sum_销量"].max;   
直接使用 图表1.binding.axis["Sum_销量"].max;  这个脚本,就能获取到值
回复

使用道具 举报

yh_xishan白银四 显示全部楼层 发表于 2021-11-4 10:57:17
永洪Tech-wj 发表于 2021-11-4 10:47
var a = 图表1.binding.axis["Sum_销量"].max;   
直接使用 图表1.binding.axis["Sum_销量"].max;  这个 ...

貌似只有设置最大刻度时可以获取到设置的最大刻度值,如果不设置的话不能获取到系统当前自动生成的最大刻度吧
回复

使用道具 举报

美滋滋皇冠三 显示全部楼层 发表于 2021-11-4 10:57:30
你现在不是要设置Y轴最大刻度吗?怎么又要获取Y轴最大刻度?
回复

使用道具 举报

yh_xishan白银四 显示全部楼层 发表于 2021-11-4 11:00:04
歪打正着 发表于 2021-11-4 10:57
你现在不是要设置Y轴最大刻度吗?怎么又要获取Y轴最大刻度?

是的,本质需求其实是获取一个图的最大刻度并赋给另一张图,所以需要获取第一张图的最大刻度,并且延伸出如何获取图表中度量为动态计算的最大刻度
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |联系社区管理员|《永洪社区协议》
返回顶部