2012-05-09 5 views
1

Zedグラフの行のダッシュの長さを変更しようとしています。私は実線の間に大きなギャップがあることを望みます。私のコードC#Zedgraphラインダッシュの長さを変更する

LineItem LineCurve = null 
LineCurve = ZedGraphControl.GraphPane.AddCurve("line1",PairPointListData, Color, Symbol); 
//now I want to change the dash settings 
LineCurve.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash; 
LineCurve.Line.StepType = StepType.ForwardStep; 
LineCurve.Line.DashOn = 1.0f;//Not sure what this floating point does 
LineCurve.Line.DashOff = 1.0f;//Also not sure 

例私はダッシュオンとオフの値を変更しましたが、私は顕著な何かを見ることができません。 アドバイス/アイデアをお寄せいただきありがとうございます。

答えて

6

ダッシュスタイルは「カスタム」に設定する必要があります。参照:

 double[] xvals = new double[100]; 
     double[] yvals = new double[100]; 

     for (double i = 0; i < xvals.Length; i++) 
     { 
      xvals[(int)i] = i/10; 
      yvals[(int)i] = Math.Sin(i/10); 
     } 

     var zgc = msGraphControl1.zedGraphControl1; 
     var lineItem = zgc.GraphPane.AddCurve("Custom", xvals, yvals, Color.Blue); 

     lineItem.Line.Style = DashStyle.Custom; 
     lineItem.Line.Width = 3; 
     lineItem.Line.DashOn = 5; 
     lineItem.Line.DashOff = 10; 

     //offset the next curve 
     for (int i = 0; i < xvals.Length; i++) 
     { 
      xvals[i] = xvals[i] + 0.5; 
      yvals[i] = yvals[i] + 0.05; 
     } 

     var lineItem2 = zgc.GraphPane.AddCurve("DashDotDot", xvals, yvals, Color.Red); 

     lineItem2.Line.Width = 3; 
     lineItem2.Line.Style = DashStyle.DashDotDot; 

     //offset the next curve 
     for (int i = 0; i < xvals.Length; i++) 
     { 
      xvals[i] = xvals[i] + 0.5; 
      yvals[i] = yvals[i] + 0.05; 
     } 

     var lineItem3 = zgc.GraphPane.AddCurve("Solid", xvals, yvals, Color.Black); 

     lineItem3.Line.Width = 3; 
     lineItem3.Line.Style = DashStyle.Solid; 


     zgc.AxisChange(); 
     zgc.Refresh(); 
+0

常にグラフの凡例に反映させることが行われます。 http://zedgraph.sourceforge.net/documentation/html/P_ZedGraph_LineBase_DashOff.htm

ここではいくつかのサンプルコードはありますか? – Ashitakalax

+0

シンプルな1行プロットでコードを試してみましたが、うまく機能しましたが、複数行のプロットを混在させた点線とソリッドで試してみました。これはうまくいかず、dashDotDotなどの代わりに破線で表示されます。 – Ashitakalax

+1

はい、凡例に反映されています。 –

関連する問題