首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试用ZedGraph创建直方图

尝试用ZedGraph创建直方图
EN

Stack Overflow用户
提问于 2010-10-10 18:20:33
回答 1查看 4K关注 0票数 3

我正在尝试用ZedGraph创建一个直方图。

条形图和数据都很好,唯一需要的就是我的条子在抽搐之间,而不是直接在抽搐上。

样本数据:

代码语言:javascript
运行
复制
1, 4
2, 8
3, 1

意味着我有:

代码语言:javascript
运行
复制
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,但我还没有找到任何东西.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-10 22:14:35

你可能不能用普通的BarItem来做这件事。我使用BoxObj对象创建直方图。

如果histList是包含对直方图值(断点和值)的PointPairList,则可以使用:

代码语言:javascript
运行
复制
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,您可以完全控制条形图所在的位置,等等。文档中的更多信息

编辑

请记住,当使用BoxObj (或一般情况下的任何GraphObj )时,X和Y标度不会自动设置。您需要手动设置比例范围:

代码语言:javascript
运行
复制
pane.XAxis.Scale.Min = ...
pane.XAxis.Scale.Max = ...
pane.YAxis.Scale.Min = ...
pane.YAxis.Scale.Max = ...
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3901564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档