2017-08-21 195 views
2

下午好,现在我有这张图表,但我想在条形图中添加红色和蓝色线条。即时新闻与氧吧。谢谢你的帮助。如何在间隔条形图中绘制水平和垂直线条 - oxyplot - WPF

我目前正在将继电器中的事件显示保存为布尔值。所以有一个水平线参考是很好的。

蓝线只是表示系统中事件的另一条线。

enter image description here

这是我的XAML

<Window x:Class="Label_Issue.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:Label_Issue" 
    xmlns:oxy="http://oxyplot.org/wpf" 
    mc:Ignorable="d" 
    Title="MainWindow" Height="350" Width="525"> 
<Grid> 
    <oxy:PlotView x:Name="barChartModel"/> 
</Grid> 

这是我的.cs

namespace Label_Issue 
{ 

    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 

      SetUtilizationData(); 
     } 

     public PlotModel PlotModel { get; set; } 
     private void SetUtilizationData() 
     { 
      PlotModel = new PlotModel 
      { 

       LegendOrientation = LegendOrientation.Vertical, 
       LegendPlacement = LegendPlacement.Outside, 
       LegendPosition = LegendPosition.RightTop 
      }; 


      // define x-axis 
      OxyPlot.Axes.DateTimeAxis dateAxis = new OxyPlot.Axes.DateTimeAxis 
      { 
       Position = OxyPlot.Axes.AxisPosition.Bottom, 
       //StringFormat = "dd/MM/yy HH:mm"   // automatisch? 
      }; 

      // add to plotmodel.axes 
      PlotModel.Axes.Add(dateAxis); 


      // define y-axis 
      CategoryAxis categoryAxis = new CategoryAxis 
      { 
       Position = AxisPosition.Left, 
      }; 

      //add to plotmodel.axes 
      PlotModel.Axes.Add(categoryAxis); 

      IntervalBarSeries barSeries = new OxyPlot.Series.IntervalBarSeries 
      { 
       LabelMargin = 0 
      }; 

      TestData td = new TestData(); 
      for(int index=0; index<10;index++) 
      { 
       IntervalBarItem item = new IntervalBarItem 
       { 

        Start = OxyPlot.Axes.DateTimeAxis.ToDouble(new DateTime(2017, 04, 01, 06, 00 + index, 00)), 
        End = OxyPlot.Axes.DateTimeAxis.ToDouble(new DateTime(2017, 04, 01, 07, 00 + index, 00)), 
        CategoryIndex = index, 
        Title = "test" 
       }; 
       barSeries.Items.Add(item); 
      } 

      PlotModel.Series.Add(barSeries); 
      barChartModel.Model = PlotModel; 
     } 
    } 

回答

0

我所做的垂线与Plotmodel.LineAannotation与水平线在Y轴上有biggridlinestyle,但是可以完成还有一个线条注释。

相关问题