2010-10-10 149 views
3

我想用ZedGraph創建直方圖。試圖用ZedGraph創建直方圖

酒吧和數據都很好,唯一需要的是酒吧之間的抽動,而不是直接在抽動。

的樣本數據:

1, 4 
2, 8 
3, 1 

,我有辦法:

4 items that are >= 0 and < 1 
8 items that are >= 1 and < 2 
1 item that is >= 2 and < 3 

所以目前我的酒吧當然直接在抽動(x值)1,2和3

出現的

但我想看看:

  • 抽動0和1之間的第一杆,
  • 抽動1和2之間的第二杆
  • 抽動2和3

之間的第三欄是什麼,以便調整該屬性實現這一目標? 我目前正在尋找XAxisXAxis.Scale,但我還沒有發現任何東西...

回答

3

你可能不能用正常的BarItem來做。我使用BoxObj對象創建直方圖。

如果histList是包含您直方圖值對(斷點和值),你可以使用PointPairList

for (int i = 0; i < histList.Count - 1; i++) 
{ 
BoxObj box = new BoxObj(histList[i].X, histList[i].Y, histList[i + 1].X - histList[i].X, histList[i].Y); 
box.IsClippedToChartRect = true; 
box.Fill.Color = myColor; 
pane.GraphObjList.Add(box); 
} 

使用BoxObj你有在酒吧位於等。documentation更多信息完全控制

EDIT
請記住,使用時BoxObj(或一般的任何GraphObj)的X和Y尺度並不是布萊恩g自動設置。您需要手動設置刻度範圍:

pane.XAxis.Scale.Min = ... 
pane.XAxis.Scale.Max = ... 
pane.YAxis.Scale.Min = ... 
pane.YAxis.Scale.Max = ... 
+0

看起來不錯,感謝您的輸入! – ibiza 2010-10-11 01:59:21

+0

嗨,圖表開始放大太多,許多酒吧都在可見區域之外(縮小我們可以看到它們)。你會知道如何解決它? – ibiza 2010-10-11 15:40:29

+1

看到我的編輯。希望它會有所幫助 – Gacek 2010-10-11 19:21:55