2011-02-02 21 views
4

私はZedGraphコントロールを使用していて、グラフ関数の片側をある色で塗りつぶし、他の側を他の色で塗りつぶしたいとします。ZedGraphの塗りつぶし領域

PointPairList list1 = new PointPairList(); 
list1.Add(0, 4); 
list1.Add(4, 0); 
LineItem myCurve = myPane.AddCurve("y(n)", list1, Color.Red, SymbolType.Diamond); 

//This filling bottom side. 
myCurve.Line.Fill = new Fill(Color.White, Color.FromArgb(113, 255, 0, 0), 90F); 

//How to fill the top side? 
+1

あなたはちょうどあなたがした秒ちょうどのように全体のグラフの背景として、1つの塗りつぶしを追加し、できない、などあなたのカーブを埋める?それはトリックを行う必要があります。それとも心に何か他のものがありますか? – Gacek

+0

実際に私が言ったように、私は複数の線の交差点(多角形)で形成された領域を埋める必要がありますが、Zedグラフのポリゴン領域を塗りつぶすことはできますか? – Sergey

+0

あなたはそれを解決できましたか?ソースコードを変更する唯一の方法はありますか? – cMinor

答えて

5

私はあなたが尋ねていることについてはっきりしていませんが、下記のように役立ちます。あなたはコメントで言いました

Zedgraphのポリゴンエリアを塗りつぶすことはできますか?

だからここにどのように...

var zed = new ZedGraph.ZedGraphControl { Dock = System.Windows.Forms.DockStyle.Fill }; 

var poly = new ZedGraph.PolyObj 
{ 
    Points = new[] 
    { 
     new ZedGraph.PointD(0, 0), 
     new ZedGraph.PointD(0.5, 1), 
     new ZedGraph.PointD(1, 0.5), 
     new ZedGraph.PointD(0, 0) 
    }, 
    Fill = new ZedGraph.Fill(Color.Blue), 
    ZOrder = ZedGraph.ZOrder.E_BehindCurves 
}; 

var poly1 = new ZedGraph.PolyObj 
{ 
    Points = new[] 
    { 
     new ZedGraph.PointD(1, 0), 
     new ZedGraph.PointD(0.25, 1), 
     new ZedGraph.PointD(0.5, 0), 
     new ZedGraph.PointD(1, 0) 
    }, 
    Fill = new ZedGraph.Fill(Color.Red), 
    ZOrder = ZedGraph.ZOrder.E_BehindCurves 
}; 

zed.GraphPane.AddCurve("Line", new[] { 0.0, 1.0 }, new[] { 0.0, 1.0 }, Color.Green); 
zed.GraphPane.GraphObjList.Add(poly1); 
zed.GraphPane.GraphObjList.Add(poly); 

結果

enter image description here

でうまくいけば、これは正しい方向にあなたを指していますよ!

http://converter.telerik.com/経由Code in VB as requested! - VBコードのないguarenteeが作業していない、あるいはコンパイル)

+0

例のアナログをvb.netに投稿してください。私はこれが皆にとって本当に役に立つと思う。 – cMinor

+0

経由http://converter.telerik.com/... http://pastebin.com/jsFB1jxP ...私は長年にわたりVBを使用していないので、妥当性を保証することはできません。質問が更新されました。 –

関連する問題