2011-02-02 5 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

당신은 단지로, 당신이 한 두 번째와 마찬가지로 다음 전체 차트의 배경으로 한 채우기를 추가 할 수 없습니다 당신의 곡선을 채우시겠습니까? 그 트릭을해야합니다. 아니면 뭔가 다른 것을 염두에 두셨습니까? – Gacek

+0

사실 나는 당신이 말한 것처럼했는데 여러 라인 교차점 (일부 다각형)으로 형성된 영역을 채울 필요가 있는데, Zed 그래프에서 다각형 영역을 채울 수 있습니까? – Sergey

+0

해결할 수 있었습니까? 소스 코드를 수정할 수있는 유일한 방법입니까? – cMinor

답변

5

나는 당신이 무엇을 요구하고 있는지 잘 모르겠다. 그러나 희망적으로 아래가 도움이 될 것이다. 당신이 코멘트에 말했다

Zedgraph의 폴리곤 영역을 채울 수 있습니까?

그래서 여기에 희망

enter image description here

에서 어떻게 ...

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); 

결과의이 옳은 방향으로 당신을 가리 킵니다!

(http://converter.telerik.com/를 통해 Code in VB as requested! - 작업 또는 컴파일 비주얼 베이직 코드없이 guarentee)

+0

예제의 아날로그를 vb.net에 게시 할 수 있습니까? 나는 이것이 모두에게 도움이된다고 생각합니다. – cMinor

+0

통해 http : //converter.telerik.com/... http : //pastebin.com/jsFB1jxP ... 나는 유효 기간을 보장 할 수 있도록 VB에서 몇 년 동안 사용하지 않았습니다. 질문이 업데이트되었습니다. –

관련 문제