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

C# Chart添加折线系列后与蜡烛图X轴值不匹配问题咨询

蜡烛图新增折线与X轴不匹配的问题解决

核心问题原因

  1. X值类型不匹配:蜡烛图系列的X值是绑定的DateTime类型的TimeStamp字段,且明确设置了XValueType = ChartValueType.Date,但你给折线系列添加点时要么传入字符串格式的日期、要么传入整数索引,和蜡烛图的X值类型完全不一致,导致图表无法将两个系列的X值映射到同一个坐标轴刻度上。
  2. 折线系列未配置X轴类型:你没有给折线系列SwingPointLine设置和蜡烛图一致的XValueType,图表默认会把传入的字符串/数字识别为独立的分类值,自然无法和时间轴匹配。
  3. 时间精度不匹配:你的蜡烛图X轴精度到小时分钟(15:30到22:00),但你传入的日期字符串只有月日信息,缺失时分部分,就算能转成DateTime也和实际蜡烛的时间戳对不上。

解决步骤

  • 首先给折线系列统一设置X轴类型,和蜡烛图保持一致:
chart1.Series["SwingPointLine"].XValueType = ChartValueType.Date;
  • 添加折线点时,必须传入和蜡烛图TimeStamp同类型的DateTime值,不能传字符串或者随意填写的索引,示例如下:
// 时间参数要和你ListOfCandles里对应蜡烛的TimeStamp的年、月、日、时、分完全对应
chart1.Series["SwingPointLine"].Points.AddXY(new DateTime(2024,6,6,16,0,0), 145.87);
  • 如果你希望按蜡烛的索引来匹配折线点,直接取对应索引位置蜡烛的TimeStamp作为X值即可:
// 取第1个蜡烛的时间戳作为X值
chart1.Series["SwingPointLine"].Points.AddXY(ListOfCandles[0].TimeStamp, 145.87);
// 取第5个蜡烛的时间戳作为X值
chart1.Series["SwingPointLine"].Points.AddXY(ListOfCandles[4].TimeStamp, 152.79);
  • 额外确认两个系列绑定到同一个X轴,避免坐标轴不统一:
chart1.Series["SwingPointLine"].XAxisType = AxisType.Primary;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:57:02