2012-06-26 57 views

回答

4

在以前的項目中,我使用下面的代碼來獲得這種效果。

int i = myPane.AddYAxis(""); 
myPane.YAxisList[i].Color = Color.Orange; 
myPane.YAxisList[i].Scale.IsVisible = false; 
myPane.YAxisList[i].MajorTic.IsAllTics = false; 
myPane.YAxisList[i].MinorTic.IsAllTics = false; 
myPane.YAxisList[i].Cross = pointOnXAxisThatIWantToMark; 

在這種情況下,我添加兩個軸來標記我的圖上的某些限制。

enter image description here

+0

請注意,如果你添加標籤(axis.Title.Text = 「...」),2+這些線條會在Y軸的左側形成一個神祕的空白空間(每條線條都有更多的空間)。但沒有標籤,這很好。 –

+0

請注意,在ZedGraph v2.0中,您在軸對象上設置了比例可見性和IsAllTics:yAxis.IsScaleVisible = false; yAxis.IsAllTics = false;您還可以使用以下設置線條的寬度:yAxis.TicPenWidth = 2; – salle55

0

您可以將曲線的SymbolType設置爲SymbolType.VDash

例如,要設置的符號爲LineItem,既可以做它直接在構造(curve1在下面的源代碼),或者可以將其分配給該曲線(curve2)之前定製它。

此代碼:

var curve1 = new LineItem(null, new[] { 0.1, 0.5, 0.9 }, 
      new[] { 0.8, 0.3, 0.1 }, Color.Blue, SymbolType.VDash); 
zedGraphControl1.GraphPane.CurveList.Add(curve1); 

var curve2 = new LineItem(String.Empty) 
    { 
     Points = new PointPairList(
       new[] { 0.1, 0.5, 0.9 }, new[] { 0.2, 0.5, 0.9 }), 
     Color = Color.Red, 
     Symbol = new Symbol(SymbolType.VDash, Color.Black) 
       { Size = 20f, Border = new Border(Color.Black, 6f)} 
    }; 
zedGraphControl1.GraphPane.CurveList.Add(curve2); 

產生如下圖:

Non-customized and customized markers

+0

我第一次讀得不夠徹底,並使用了水平標記。希望垂直標記更符合你的要求。相應地更新答案。 –