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

如何使用LiveCharts在折线图中绘制指定x坐标的垂直线

WinForm 中 LiveCharts 折线图指定X坐标绘制垂直线实现方案

以下两种是LiveCharts原生支持的实现方案,无需自定义绘制逻辑,兼容性最好:

方案1:使用X轴截面(AxisSections,推荐)

该方案适配坐标轴的缩放、平移操作,垂直线会自动跟随坐标调整位置,无需额外处理重绘逻辑。
实现示例如下:

  • 首先引入所需命名空间:using LiveCharts.Wpf;
  • 假设你已在窗体中添加了名为cartesianChart1的折线图控件,需要在X值为5的位置绘制垂直线,代码如下:
// 初始化X轴的截面集合,若已存在可跳过该行
cartesianChart1.AxisX[0].Sections = new SectionsCollection();

// 创建垂直线实例
var verticalLine = new AxisSection
{
    // 此处赋值为你需要的目标X坐标值
    Value = 5,
    StrokeThickness = 2,
    // 设置线的颜色,可按需替换
    Stroke = System.Windows.Media.Brushes.Red,
    // 宽度设为0表示纯线条,大于0时会生成对应宽度的高亮区域
    SectionWidth = 0
};

// 将线添加到X轴截面集合即可生效
cartesianChart1.AxisX[0].Sections.Add(verticalLine);
  • 注意:如果你的X轴是分类轴(绑定的是字符串类型的标签),Value需填写对应分类的索引值,索引从0开始计数。

方案2:使用注解(Annotations)

适合需要在垂直线上附加文字标签、自定义线条样式(如虚线)的场景:

// 初始化注解集合,若已存在可跳过该行
cartesianChart1.Annotations = new AnnotationsCollection();

var verticalLine = new VerticalLineAnnotation
{
    // 目标X坐标值
    X = 5,
    Stroke = System.Windows.Media.Brushes.Red,
    StrokeThickness = 2,
    // 可选:设置为虚线样式,参数分别是短划线长度、间隔长度
    StrokeDashArray = new System.Windows.Media.DoubleCollection { 2, 2 },
    // 可选:添加线的顶部文字标注
    Label = "阈值线",
    LabelForeground = System.Windows.Media.Brushes.Black
};

cartesianChart1.Annotations.Add(verticalLine);

常见操作说明

  • 调整垂直线位置:直接修改对应实例的Value(AxisSection方案)或X(Annotation方案)属性,图表会自动重绘
  • 删除垂直线:调用对应集合的Remove()方法传入目标线实例即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:27:02