找回密码
 立即注册

QQ登录

只需一步,快速开始

supwork@qq.com

注册会员

1

主题

6

帖子

13

积分

注册会员

积分
13
  • 47

    金币

  • 1

    主题

  • 6

    帖子

最新发帖
supwork@qq.com
注册会员   /  发表于:2025-1-7 13:13  /   查看:44  /  回复:8
1金币
一如何 在当前 工作表中插入

折线图:
1,数据在A2:AA2中
2,数据在A3:AA3中
及生成多条线的 折线图

二,设置已有折线图的 坐标轴最大值 最小值

var chart1 = sheet.charts.all()[0];

设置 chart1的纵坐标最大值为29.4 最小值为 29.1

最佳答案

查看完整内容

最大值最小值对应的属性名称分别为max、min,如下图所示: 请参考如下代码所示:

8 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:昨天 13:13
来自 8#
本帖最后由 Wilson.Zhang 于 2025-1-8 17:02 编辑
supwork@qq.com 发表于 2025-1-8 11:11
帮助中有说可以通过数字设置最大值 最小值 但是没给具体示例,以下代码能运行,不报错 其它设置有效果了 ...

最大值最小值对应的属性名称分别为max、min,如下图所示:
1736326950575.png92328795.png

请参考如下代码所示:
  1. axes.primaryValue.max = 0.65;
  2. axes/primaryValue.min = 0.3;
复制代码

回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:昨天 17:46
2#
您好!可以参考官网教程了解折线图的代码设置方式:
https://demo.grapecity.com.cn/sp ... s/line-chart/purejs

坐标轴的最大值和最小值可以通过坐标轴IAxis:max和IAxis:min分别设置,具体地需要先从图表Chart实例中获取坐标轴IAxes,由于图表有主坐标轴和二级坐标轴,所以还要根据需要从IAxes实例获取,结果对应为IAxis实例,至此便可设置最大值和最小值。请参考官网教程了解详情。
回复 使用道具 举报
supwork@qq.com
注册会员   /  发表于:昨天 20:27
3#
Wilson.Zhang 发表于 2025-1-7 17:46
您好!可以参考官网教程了解折线图的代码设置方式:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTut ...

谢谢回复 ,但问题尚未解决
var sheet = obj.getActiveSheet();
// 显示行标
var chart1 = sheet.charts.all()[0];

//var yAxis = chart1.options.scales.y;
// 设置最大值和最小值
//chart1.axes.primaryCategory.min(25.1);
//chart1.axes.primaryCategory.max(29);

if (chart1) {
    // 获取图表的数值轴(垂直坐标轴,对应VBA里的xlValue,这里根据实际API来确定获取垂直坐标轴的准确方式)
    var ax = chart1.axes.items.find(function (axis) {
        return axis.orientation === 'vertical';
    });

    if (ax) {
        // 设置最小值为0.2(这里的_MINZB1如果是一个变量,你需要提前定义好它对应的值,此处假设就是直接设置为0.2)
        ax.minimumValue = 0.2;
        // 设置最大值为0.4(同样的,_MAXZB1假设直接设置为0.4,若它是变量要提前定义好值)
        ax.maximumValue = 0.4;
    }
}
请帮修改以上代码以能设置纵坐标 最大值与最小值
回复 使用道具 举报
supwork@qq.com
注册会员   /  发表于:17 小时前
4#
Crosses: SpreadJS支持通过设置数字或者以下枚举值来改变轴之间的交叉。GC.Spread.Sheets.Charts.AxisCrossPoint.

automatic
maximum
minimum
    var axes = chart.axes();
    axes.primaryCategory.crossPoint = 3;
    axes.primaryValue.crossPoint = GC.Spread.Sheets.Charts.AxisCrossPoint.maximum;
    chart.axes(axes);

官方帮助里也没有说明 这里如何 设置最大值与最小值 能具体说明一下用法不
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:7 小时前
5#
按照在2楼给您提供的设置方式,对坐标轴设置了max和min后,需要将新数据状态的IAxes实例对象重新设置在Chart实例。如下动图所示:
图表坐标轴设置.gif

官网教程的介绍中也有相关代码片段,您可以参考了解下:
1736302361340.png239976805.png
回复 使用道具 举报
supwork@qq.com
注册会员   /  发表于:7 小时前
6#
Wilson.Zhang 发表于 2025-1-8 10:13
按照在2楼给您提供的设置方式,对坐标轴设置了max和min后,需要将新数据状态的IAxes实例对象重新设置在Char ...

帮助中有说可以通过数字设置最大值 最小值 但是没给具体示例,以下代码能运行,不报错 其它设置有效果了,就是最大值 最小值没有设置,请指点。
var axes = chart.axes();
    // the style of the axis: color, fontFamily, fontSize
    axes.primaryCategory.style.color = '#f15353';
    // the line style of the axis: color, width
    axes.primaryCategory.lineStyle.width = 0;
    // the tick position of the axis: majorTickPosition and minorTickPosition
    axes.primaryCategory.majorTickPosition = GC.Spread.Sheets.Charts.TickMark.none
    // the tick label position of the axis
    axes.primaryCategory.tickLabelPosition = GC.Spread.Sheets.Charts.TickLabelPosition.none;
    // the tick label spacing of the axis
    axes.primaryCategory.tickLabelSpacing = 3;
    // the format of the axis
    axes.primaryCategory.numberFormatLinked = true;
    // the title of the axis: text, color, fontFamily and font size
    axes.primaryCategory.title.text = 'Test Axis Title';
    axes.primaryCategory.title.fontSize = 14;
      // axes.primaryCategory.minimum=0.3;
      // axes.primaryCategory.maximum=0.65;
        axes.primaryValue.minimum = 0.3;
        axes.primaryValue.maximum = 0.65;
    chart.axes(axes);
回复 使用道具 举报
supwork@qq.com
注册会员   /  发表于:5 小时前
7#
本帖最后由 supwork@qq.com 于 2025-1-8 17:27 编辑

请直接给出具体的代码,谢谢
回复 使用道具 举报
supwork@qq.com
注册会员   /  发表于:半小时前
9#
本帖最后由 supwork@qq.com 于 2025-1-8 17:26 编辑
Wilson.Zhang 发表于 2025-1-8 17:01
最大值最小值对应的属性名称分别为max、min,如下图所示:

已自己试出来 了


var sheet = obj.getActiveSheet();
var chart= sheet.charts.all()[0];

var axes = chart.axes();
var yda=sheet.getValue(1,28)
var yxa=sheet.getValue(2,28)
axes.primaryValue.max=yda;
axes.primaryValue.min=yxa;
chart.axes(axes);


var chart2= sheet.charts.all()[1];

var axes2 = chart2.axes();
var yda2=sheet.getValue(1,29)
var yxa2=sheet.getValue(2,29)
axes2.primaryValue.max=yda2;
axes2.primaryValue.min=yxa2;
chart2.axes(axes2);
以上代码测试通过可以 一次性调整本表内两个图形的 坐标轴最大值 与最小值
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部