我正在尝试使用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上。
但我想看看:
要实现这一目标,需要调整哪些属性?
我目前正在查看XAxis
和XAxis.Scale
,但我还没有找到任何内容......
答案 0 :(得分: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
修改强>
请记住,在使用BoxObj
(或一般的GraphObj
时)时,不会自动设置X和Y比例。您需要手动设置比例范围:
pane.XAxis.Scale.Min = ...
pane.XAxis.Scale.Max = ...
pane.YAxis.Scale.Min = ...
pane.YAxis.Scale.Max = ...