Devexpress ChartControl使用series label实现标记点提示数值

一直在找LineSeriesView自带的提示怎么写,忽略了可以直接添加point类型的series。

显示效果:

6358b22daecb42dab9c7face6747a4fd.png

点击线条就可以添加标记点,再次点击标记点即可去除。

代码如下:

private void chartControl_MouseClick(object sender, MouseEventArgs e)
        {
            ChartControl chartControl = (ChartControl)sender;
            if (e != null)
            {
                ChartHitInfo hitInfo = chartControl.CalcHitInfo(e.Location);
                SeriesPoint selectedPoint = hitInfo.SeriesPoint;
                if (selectedPoint != null)
                {
                    double y = selectedPoint.Values[0];
                    double.TryParse(selectedPoint.Argument, out double x);
                    // 判断是否已存在标记点序列
                    Series seriesPoint = (Series)chartControl.Series.FirstOrDefault(s => s.Name == "markedSeries");
                    SeriesPoint point = new SeriesPoint(x, y);
                    if (seriesPoint != null)
                    {
                        chartControl.Series.Remove(seriesPoint);
                        // 判断是否已存在相同的数据点
                        bool isExist = false;
                        foreach (SeriesPoint existingPoints in seriesPoint.Points)
                        {
                            if (existingPoints.Argument == x.ToString() && existingPoints.Values[0] == y)
                            {
                                isExist = true;
                                seriesPoint.Points.Remove(existingPoints);// 移除数据点
                                break;
                            }
                        }
                        if(!isExist)
                        {
                            seriesPoint.Points.Add(point); // 添加新的数据点
                        }
                    }
                    else
                    {
                        // 如果不存在,新建序列并添加数据点
                        seriesPoint = new Series(); // 创建新的 Series 对象
                        seriesPoint.View = new PointSeriesView();
                        seriesPoint.Name = "markedSeries";
                        seriesPoint.ShowInLegend = false;
                        seriesPoint.Points.Add(point);
                    }
                    seriesPoint.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;
                    chartControl.Series.Add(seriesPoint);
                    chartControl.Update();
                }
            }
        }

也可以修改label的内容格式:

seriesPoint.Label.TextPattern = "({A}, {V})";

其中{A}指Argument,即x值,{V}指Value,即y值。

效果如下:

7c14ffd690d2409d913df86b926a7a72.png

 

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DevExpress ChartControl 是一个功能强大的图表控件,可用于在应用程序中创建各种类型的曲线图。 使用DevExpress ChartControl,我们可以轻松地添加和配置曲线图,以直观地显示数据和趋势。曲线图可以用于展示时间序列数据、趋势分析、模式识别等。 在使用DevExpress ChartControl时,我们可以通过以下几个步骤来创建和配置曲线图: 1. 数据绑定:首先,我们需要将数据源与ChartControl绑定。可以使用多种数据源,如数据库、集合、XML等。通过设置数据系列的名称、标签、数据字段等,我们可以将数据源中的数据与图表关联起来。 2. 图表类型选择:ChartControl提供了多种类型的曲线图,如折线图、散图、面积图等。我们可以根据需求选择合适的图表类型,并进行相关的配置。 3. 样式设置:可以根据需要,配置曲线图的外观样式,如背景颜色、图表边框、曲线颜色、标签样式等。通过设置图例,我们可以显示曲线图中的数据系列名称和相应的颜色。 4. 标题和轴设置:我们可以自定义曲线图的标题,为X轴和Y轴添加标签和标题,调整刻度范围、刻度间隔等。可以根据需要,显示或隐藏网格线、刻度线等。 5. 功能和交互性:ChartControl支持各种功能和交互性,如数据筛选、缩放、滚动、鼠标提示、图表导出等。我们可以根据需求,启用或禁用这些功能。 使用DevExpress ChartControl,我们可以轻松地创建出具有丰富功能和精美外观的曲线图。无论是在桌面应用程序还是Web应用程序中,DevExpress ChartControl都是一个强大的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值