You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RangeColumn图表如何将两个Y值的差值设置为DataPoint标签

RangeColumn图表双Y值差值标签设置解决方案

问题原因

你之前的两种写法都存在逻辑问题:

  1. 第一种写法中,你预先创建了DataPoint对象并设置了标签,但后续调用AddXY方法时会自动生成新的数据点,之前创建并配置好的DataPoint并没有被添加到序列中,标签配置自然不生效。
  2. 第二种写法的标签表达式仅做字符串拼接,图表控件不会自动识别#VALY2-#VALY1为算术表达式,只会原样输出文本,不会计算差值。

解决方案

方案1:手动计算差值配置标签

修正数据点添加逻辑,直接添加你已经配置好的DataPoint对象即可:

DataPoint p = new DataPoint();
p.SetValueXY(d.Date, prev, prev + biggerResult.Count);
p.Label = biggerResult.Count.ToString();
// 直接添加已配置的点,不要调用AddXY生成新点
s_AC_Checked.Points.Add(p);

如果习惯用AddXY方法,也可以在添加后为新生成的点赋值标签:

s_AC_Checked.Points.AddXY(d.Date, prev, prev + biggerResult.Count);
// 取最后添加的点设置差值标签
s_AC_Checked.Points.Last().Label = biggerResult.Count.ToString();

方案2:使用内置计算表达式自动生成标签

无需逐个点手动计算,直接给序列配置带计算逻辑的标签表达式即可,控件会自动计算两个Y值的差值:

// #CALC包裹的表达式会被控件自动计算,这里直接取Y2减Y1的结果作为标签
s_AC_Checked.Label = "#CALC(Y2 - Y1)";

效果参考

RangeColumn差值标签实际效果

内容的提问来源于stack exchange,提问作者mgx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:15:01