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

在LINQPad图表中自定义时间序列数据的X轴刻度与标签

解决方案

直接在原有LINQPad绘图链式调用的末尾追加X轴配置即可,修改后的完整代码如下:

File.ReadAllLines(@"\\...\ModelTimes.csv")
    .Skip(1)
    .Select(line => line.Split(','))
    .Select(data => new
        {
            CurrentTime = DateTime.Parse(data[0]),
            ModelTime = DateTime.Parse(data[1]),
            ModelAgeHours = Decimal.Parse(data[2]),
            CutOff = 2
        })
    .Where(data => data.CurrentTime.Date == new DateTime(2021, 9, 24))
    .Chart(data => data.CurrentTime)
    .AddYSeries(data => data.ModelAgeHours, LINQPad.Util.SeriesType.Line, "Model Age")
    .AddYSeries(data => data.CutOff, LINQPad.Util.SeriesType.Line, "2 Hours")
    // 新增X轴自定义配置
    .WithXAxis(axis => 
    {
        // 配置X轴标签显示格式
        axis.LabelStyle.Format = "yyyy-MM-dd HH:mm";
        // 配置刻度间隔为2小时
        axis.Interval = 2;
        axis.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Hours;
        // 可选:标签倾斜45度避免重叠
        axis.LabelStyle.Angle = -45;
    })

配置说明

  • LINQPad的图表API开放了WithXAxis/WithYAxis方法,可直接操作底层的.NET Chart控件轴对象,实现所有自定义配置需求
  • LabelStyle.Format参数可自定义日期时间的显示格式,此处yyyy-MM-dd HH:mm完全匹配你需要的2021-09-24 10:00样式
  • Interval和IntervalType配合使用,指定刻度的间隔大小和单位,此处设置为每2小时生成一个刻度
  • 如果运行时提示找不到DateTimeIntervalType,可在代码顶部手动导入命名空间:using System.Windows.Forms.DataVisualization.Charting;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:39:02