如何使用代码生成图表及调整图表有坐标轴
一如何 在当前 工作表中插入折线图:
1,数据在A2:AA2中
2,数据在A3:AA3中
及生成多条线的 折线图
二,设置已有折线图的 坐标轴最大值 最小值
var chart1 = sheet.charts.all();
设置 chart1的纵坐标最大值为29.4 最小值为 29.1
本帖最后由 Wilson.Zhang 于 2025-1-8 17:02 编辑
supwork@qq.com 发表于 2025-1-8 11:11
帮助中有说可以通过数字设置最大值 最小值 但是没给具体示例,以下代码能运行,不报错 其它设置有效果了 ...
最大值最小值对应的属性名称分别为max、min,如下图所示:
请参考如下代码所示:
axes.primaryValue.max = 0.65;
axes/primaryValue.min = 0.3;
您好!可以参考官网教程了解折线图的代码设置方式:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/charts/chart-types/line-chart/purejs
坐标轴的最大值和最小值可以通过坐标轴IAxis:max和IAxis:min分别设置,具体地需要先从图表Chart实例中获取坐标轴IAxes,由于图表有主坐标轴和二级坐标轴,所以还要根据需要从IAxes实例获取,结果对应为IAxis实例,至此便可设置最大值和最小值。请参考官网教程了解详情。 Wilson.Zhang 发表于 2025-1-7 17:46
您好!可以参考官网教程了解折线图的代码设置方式:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTut ...
谢谢回复 ,但问题尚未解决
var sheet = obj.getActiveSheet();
// 显示行标
var chart1 = sheet.charts.all();
//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;
}
}
请帮修改以上代码以能设置纵坐标 最大值与最小值 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);
官方帮助里也没有说明 这里如何 设置最大值与最小值 能具体说明一下用法不
按照在2楼给您提供的设置方式,对坐标轴设置了max和min后,需要将新数据状态的IAxes实例对象重新设置在Chart实例。如下动图所示:
官网教程的介绍中也有相关代码片段,您可以参考了解下:
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 于 2025-1-8 17:27 编辑
请直接给出具体的代码,谢谢 本帖最后由 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();
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();
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);
以上代码测试通过可以 一次性调整本表内两个图形的 坐标轴最大值 与最小值
supwork@qq.com 发表于 2025-1-8 17:18
已自己试出来 了
:hjyzw:
如有新问题,欢迎发新帖沟通。
:mj72:
页:
[1]
2