找回密码
 立即注册

QQ登录

只需一步,快速开始

硕㏒

金牌服务用户

18

主题

76

帖子

204

积分

金牌服务用户

积分
204
硕㏒
金牌服务用户   /  发表于:2023-12-12 14:37  /   查看:1060  /  回复:9
1金币
image.png312003173.png
image.png424000548.png

打印查看chart.series()的时候,有个[color=var(--color-syntax-2)]K0i和nvi,这两个是不是轴的最大值和最小值,有其他方法能获取到轴的最大值和最小值吗?

最佳答案

查看完整内容

您好,请参考以下代码: 获取到range后根据range的数据去遍历即可。

9 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-12 14:37:51
来自 8#
您好,请参考以下代码:

image.png769116821.png

获取到range后根据range的数据去遍历即可。
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-12 14:54:13
2#
您好,在没有给坐标轴设置最大最小值前,其最大最小值是SpreadJS根据数据自动计算出来的,目前没有公开的接口能够获取到这个最大最小值,只有在手动设置了最大最小值以后才可以通过API获取。
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
硕㏒
金牌服务用户   /  发表于:2023-12-12 15:00:27
3#
Joestar.Xu 发表于 2023-12-12 14:54
您好,在没有给坐标轴设置最大最小值前,其最大最小值是SpreadJS根据数据自动计算出来的,目前没有公开的接 ...

嗯,我的意思是这样子的,图表数据不是引用了一些单元格范围吗,图已经出来了,这个时候我想通过chart的相关API获取到最大值和最小值
下面这个方法中,我重置图表的边界,但是通过K0i和nvi获取最大值最小值应该不是正常的API,所以想请教下正常的API是哪个,我没找到


   resetChartBoundaries() {
      var sheet = this.spread.getActiveSheet();
      var charts = sheet.charts.all(); // 获取所有图表
      charts.forEach(function (chart) {
        var axes = chart.axes();
        let a = chart.series().K0i.Max;
        let b = chart.series().K0i.Min;
        let c = chart.series().nvi.Max;
        let d = chart.series().nvi.Min;
        if (axes.primaryValue) {
          axes.primaryValue.max = a + axes.primaryValue.majorUnit;
          axes.primaryValue.min = b - axes.primaryValue.majorUnit;
        }
        if (axes.primaryCategory) {
          axes.primaryCategory.max = c + axes.primaryCategory.majorUnit;
          axes.primaryCategory.min = d - axes.primaryCategory.majorUnit;
        }
        chart.axes(axes);
      });
    },



回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-12 15:14:30
4#
您好,以柱状图为例,其轴的最大最小值的接口为:

axes.primaryValue.max 和 axes.primaryValue.min

如下图所示:

image.png913320617.png
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
硕㏒
金牌服务用户   /  发表于:2023-12-12 15:19:07
5#
Joestar.Xu 发表于 2023-12-12 15:14
您好,以柱状图为例,其轴的最大最小值的接口为:

axes.primaryValue.max 和 axes.primaryValue.min

您这个api获取的是边界值的最大值和最小值,不是数据的最大值最小值吧
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-12 16:43:33
6#
了解了,如果想要获取数据的最大最小值,目前没有直接的接口可以获取到,您可以先获取到series的yValues,然后根据这个yValues的range去遍历获取单元格的最大最小值。

image.png128402403.png
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
硕㏒
金牌服务用户   /  发表于:2023-12-12 16:46:44
7#
Joestar.Xu 发表于 2023-12-12 16:43
了解了,如果想要获取数据的最大最小值,目前没有直接的接口可以获取到,您可以先获取到series的yValues, ...

具体的代码实现,您能提供下吗,cellrange我试了下,不行,可能是我的方法用错了
回复 使用道具 举报
硕㏒
金牌服务用户   /  发表于:2023-12-12 16:56:37
9#
Joestar.Xu 发表于 2023-12-12 16:51
您好,请参考以下代码:

好的,谢谢
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-12-12 17:01:02
10#
不客气哈,后续有问题的话随时追问。
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部