如何在实时图表中创建一条垂直线

我希望在实时图表中创建一个垂直部分。我找到了这样的例子,但使用的代码现在已经折旧了。

这是我的起点:

http://img.mukewang.com/6121f4560001e73d12120231.jpg

var axisSection = new AxisSection

{

  FromValue = index,

  ToolTip = "dfsdf",

  ToValue = index,

  Stroke = Brushes.YellowGreen,

  StrokeThickness = 1,

  StrokeDashArray = new DoubleCollection(new[] { 4d })

};

chart.VisualElements.Add(new VisualElement

{

  HorizontalAlignment = HorizontalAlignment.Center,

  VerticalAlignment = VerticalAlignment.Top,

  UIElement = new TextBlock //notice this property must be a wpf control

  {

    Text = journalObj.Title,

    FontWeight = FontWeights.Bold,

    Foreground = Brushes.Snow,

    FontSize = 12,

    Opacity = 0.6

  }

});

但是我发现“FromValue”已更改为“Value”,“ToValue”已更改为“SectionWidth”,并且创建的部分现在是水平的而不是垂直的。我的代码在 vb.net 中(因为这是我正在开发的)但这里有一个示例:


Dim axissection As New impLiveChartsWPF.AxisSection

With axissection

  .Value = 1

  .SectionWidth = 1

  .Stroke = Brushes.YellowGreen

  .StrokeThickness = 1

  .StrokeDashArray = collection

End With

这段代码创建了一个水平框,在 y 轴上从 1 到 2。需要在 x 轴上有一条细的垂直线来表示参数的变化(如系统关闭或打开)。


慕码人2483693
浏览 227回答 1
1回答

catspeake

使剖面垂直的关键是将剖面添加到 X 轴,而不是 Y 轴。添加到 X 轴使其垂直,添加到 Y 轴使其水平。这使得该部分垂直:cartesianChart1.AxisX.Add(new Axis{    Sections = new SectionsCollection    {        axisSection    }});或者在VB中:cartesianChart1.AxisX.Add(New Axis With {    .Sections = New SectionsCollection From {        axisSection    }})
打开App,查看更多内容
随时随地看视频慕课网APP