2014-03-03 60 views
2

我想使用OXYPLOT庫添加共享x軸的多個圖。示例代碼如下,它設置4個不同的y軸共享相同的x軸。不過,我只能繪製第1 x軸上的數據,而不繪製其他數據。任何類型的建議,將不勝感激。在Oxyplot中共享軸的多個圖

[Example("Untitled")] 
    public static PlotModel Untitled() 
    { 
     var plotModel1 = new PlotModel(); 
     plotModel1.PlotMargins = new OxyThickness(40,20,40,30); 
     var linearAxis1 = new LinearAxis(); 
     linearAxis1.EndPosition = 0.25; 
     linearAxis1.Maximum = 1; 
     linearAxis1.Minimum = -1; 
     linearAxis1.Title = "C1"; 
     linearAxis1.Key= "C1"; 
     plotModel1.Axes.Add(linearAxis1); 
     var linearAxis2 = new LinearAxis(); 
     linearAxis2.EndPosition = 0.5; 
     linearAxis2.Maximum = 1; 
     linearAxis2.Minimum = -1; 
     linearAxis2.Position = AxisPosition.Right; 
     linearAxis2.StartPosition = 0.25; 
     linearAxis2.Title = "C2"; 
     linearAxis2.Key= "C2"; 
     plotModel1.Axes.Add(linearAxis2); 
     var linearAxis3 = new LinearAxis(); 
     linearAxis3.EndPosition = 0.75; 
     linearAxis3.Maximum = 1; 
     linearAxis3.Minimum = -1; 
     linearAxis3.StartPosition = 0.5; 
     linearAxis3.Title = "C3"; 
     linearAxis3.Key= "C3"; 
     plotModel1.Axes.Add(linearAxis3); 
     var linearAxis4 = new LinearAxis(); 
     linearAxis4.Maximum = 1; 
     linearAxis4.Minimum = -1; 
     linearAxis4.Position = AxisPosition.Right; 
     linearAxis4.StartPosition = 0.75; 
     linearAxis4.Title = "C4"; 
     linearAxis1.Key= "C4"; 
     plotModel1.Axes.Add(linearAxis4); 
     var linearAxis5 = new LinearAxis(); 
     linearAxis5.Maximum = 100; 
     linearAxis5.Minimum = 0; 
     linearAxis5.Position = AxisPosition.Bottom; 
     linearAxis5.Title = "s"; 
     linearAxis5.Key= "s"; 
     plotModel1.Axes.Add(linearAxis5); 
     return plotModel1; 
    } 
+0

密鑰(物業)解決了這個問題。 – Muzab

回答

3

將XAxisKey和YAxisKey屬性分配給您的服務。

PlotModel pm = new PlotModel(); 

OxyPlot.Series.FunctionSeries s1 = new FunctionSeries(Math.Sin, -10, 10, 0.1, "sin(x)"); 
s1.YAxisKey = "axesY2"; 
s1.XAxisKey = "axesX2"; 
pm.Series.Add(s1); 

在你的情況,關鍵是從庫 「C1」, 「C2」 和 「C3」 等