2

使用 Zedgraph (asp.net)。我有一个基于日期时间 x 点的条形图。第一个条没有标签。第一个标签位于对应于我第一天前一天的 y 轴。我不太关心这个。但是,第二个标签位于第二个栏。我需要第一个酒吧有一个标签。我确实有 MyPane.XAxis.Scale.IsSkipFirstLabel = false。

如何强制第一个栏有标签?为什么 ZedGraph 不在那里贴标签?

添加:

我希望在第一个条形图上显示 '5/20' 而不是 y 轴下的 5/19。我什至没有 5/19 的条目。

替代文字 http://i50.tinypic.com/29ogx0n_th.gif

4

1 回答 1

2

好的,我不知道这是否正是您需要的,但是:

首先,手动调整比例范围:

zg1.MasterPane[0].XAxis.Scale.Min = (double)new XDate(2010, 05, 19);
zg1.MasterPane[0].XAxis.Scale.Max = (double)new XDate(2010, 05,30);

这会将您的比例范围设置为显示数据的前一天和后一天(这需要额外的空间)

然后,设置步骤:

 zg1.MasterPane[0].XAxis.Scale.MajorStep = 1;
 zg1.MasterPane[0].XAxis.Scale.FontSpec.Angle = 90f;

这将导致您每天都有一个标签。事实上,这是对出现的标签进行或多或少控制的唯一方法。我还改变了标签的角度(在正常位置它会重叠)。
但它也会为第一天和最后一天创建标签(边距)。所以我们需要禁用这两个条目(现在它可以工作了,因为你已经手动设置了范围)。

 zg1.MasterPane[0].XAxis.Scale.IsSkipFirstLabel = true;
 zg1.MasterPane[0].XAxis.Scale.IsSkipLastLabel = true;

如果您只想禁用第一个和最后一个额外标签并将其余标签留给 ZedGraph,只需省略第二步。但有时结果可能无法预测。

于 2010-06-20T18:18:01.437 回答