Скрыть некоторые точки в серии Оксиплот Лайн - PullRequest
0 голосов
/ 10 мая 2018

Мне нужно показать / скрыть некоторые точки данных в серии линий оксиплота. Является ли это возможным? Хотя некоторые маркеры невидимы, линия должна проходить через невидимые маркеры.

1 Ответ

0 голосов
/ 12 мая 2018

Вы можете использовать две серии для достижения этой цели.Первый нарисовал бы полные точки (и линию) без маркера.Вторая серия будет рисовать видимые точки (с маркером, но со стилем линии, установленным в none).Например,

 DataPoint[] points = new DataPoint[]
        {
            new DataPoint(1,12),
            new DataPoint(2,10),
            new DataPoint(3,9),
            new DataPoint(4,13),
            new DataPoint(5,14),
            new DataPoint(6,10)
        };
        var seriesComplete = new OxyPlot.Series.LineSeries();

        seriesComplete.Points.AddRange(points);


        var seriesVisible = new OxyPlot.Series.LineSeries();
        seriesVisible.Points.AddRange(points.Where(x => x.Y % 2 == 0));
        seriesVisible.MarkerFill = OxyColors.Blue;
        seriesVisible.MarkerType = MarkerType.Circle;
        seriesVisible.MarkerSize = 10;
        seriesVisible.LineStyle = LineStyle.None;

        this.MyModel.Series.Add(seriesComplete);
        this.MyModel.Series.Add(seriesVisible);

Результат прикреплен как изображение enter image description here

...