2012-12-13 24 views
1

我試圖繪製不同顏色的曲線,但它不起作用。即使我已驗證「顏色」部分已更改,我仍繼續爲所有人獲取相同的顏色。我甚至手動完成它。我正在運行曲線保留曲線列表,但顏色不變

我有另一個類創建PointPairList列表和另一個改變顏色。

myPane = zedGraphControl1.GraphPane; 
int index = 0; 
foreach (PointPairList item in cMasterGraph) 
{ 
    myPane = zedGraphControl1.GraphPane; 
    // GraphPane object holds one or more Curve objects (or plots) 
    myPane.YAxis.Type = AxisType.Log; 
    Color color = GetNextColor(); 
    // Add cruves to myPane object 
    LineItem myCurve = myPane.AddCurve(cGraphname[index], item, color, SymbolType.None); 
    LineItem myCurve2 = myPane.AddCurve(cGraphname[index], item, Color.Yellow, SymbolType.None); 
    //myCurve.Add(tempcurve); 
    myCurve.Line.Width = 1.0F; 
    index++; 
    //myCurve.IsSelected = true; 
    // I add all three functions just to be sure it refeshes the plot. 
    zedGraphControl1.AxisChange(); 
    zedGraphControl1.Invalidate(); 
    zedGraphControl1.Refresh(); 
} 

我一直停留在這個問題已經太多時間。

+0

請寄出'GetNextColor()'源代碼。 –

+0

private Color GetNextColor() Color [] mColors = {Color.Firebrick,Color.ForestGreen,Color.Black,Color.Blue,Color.Red,Color.Purple};如果(mLastColor> = mColors.Length)mLastColor = 0; return mColors [mLastColor ++]; } –

+0

我已經驗證顏色變化,但它仍然不起作用,也嘗試通過編輯值來修改顏色,但無論我做什麼,我都得到了相同的結果。 –

回答

1
LineItem myCurve = myPane.AddCurve(cGraphname[index], item, color, SymbolType.None); 
LineItem myCurve2 = myPane.AddCurve(cGraphname[index], item, Color.Yellow, SymbolType.None); 

我想:

myCurve和myCurve2具有相同的項目,所以當你有畫myCurve然後你畫myCurve2,myCurve由myCurve2(Color.Yellow)覆蓋。