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

Highcharts.NET折线图实现部分线条带点样式的方法

在Highcharts.NET中为部分折线设置点标记

嘿,这个需求其实很好实现,核心就是给需要显示点标记的单个数据系列单独配置Marker属性,不用全局统一设置。下面我给你拆解具体的实现方法和代码示例:

核心思路

Highcharts.NET里的每个Series实例都有独立的Marker配置项,你可以针对特定系列开启点标记,其他系列保持默认的无标记折线样式就行。

代码示例(C#)

假设我们要做一个包含3条折线的图表,其中第2条折线显示点标记,另外两条不显示:

using Highsoft.Web.Mvc.Charts;

// 创建图表实例
var chart = new Chart
{
    Title = new Title { Text = "部分折线显示点标记示例" },
    XAxis = new List<XAxis> { new XAxis { Categories = new[] { "一月", "二月", "三月", "四月", "五月" } } },
    YAxis = new List<YAxis> { new YAxis { Title = new YAxisTitle { Text = "数值" } } },
    Series = new List<Series>
    {
        // 第一条折线:无点标记(手动关闭)
        new LineSeries
        {
            Name = "系列1",
            Data = new Data(new object[] { 10, 20, 15, 25, 30 }),
            Marker = new LineSeriesMarker { Enabled = false }
        },
        // 第二条折线:显示点标记,还能自定义样式
        new LineSeries
        {
            Name = "系列2",
            Data = new Data(new object[] { 15, 25, 20, 30, 35 }),
            Marker = new LineSeriesMarker
            {
                Enabled = true,
                Radius = 4, // 标记大小
                FillColor = "#ff4444", // 填充色
                LineWidth = 1,
                LineColor = "#ffffff" // 标记边框色
            }
        },
        // 第三条折线:无点标记(用默认设置即可)
        new LineSeries
        {
            Name = "系列3",
            Data = new Data(new object[] { 5, 10, 8, 15, 20 })
        }
    }
};

额外细节补充

  • 如果只需要给单个数据点加标记(不是整个系列),可以在Data里给特定点单独配置:
Data = new Data(new object[] 
{ 
    15, 
    new Point { Y = 25, Marker = new PointMarker { Enabled = true, FillColor = "#00cc00" } }, 
    20, 
    30, 
    35 
})

这样只有第二个数据点会显示自定义标记。

  • 标记的形状也可以改,比如设置Symbol = "square"就能把圆形改成方形,可选值还有triangle、diamond等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:08:26