代码之家  ›  专栏  ›  技术社区  ›  Tony_Henrich

ZeDiga-如何迫使第一个和最后一个酒吧有X轴标签?

  •  2
  • Tony_Henrich  · 技术社区  · 14 年前

    使用Zedgraph(asp.net)。我有一个基于日期时间x点的条形图。第一个栏没有标签。第一个标签是在y轴上对应于我的第一天点之前的一天。我不太关心这个。但是第二个标签在第二个栏。我需要第一个酒吧有标签。我确实有MyPAN.xAxIS.Scist.ISSKIPFrSTLabVIEL= FALSE。

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

    增加:

    我想要“5/20”来显示第一条而不是5/19条Y轴。我甚至没有5/19的报名表。

    alt text http://i50.tinypic.com/29ogx0n_th.gif

    1 回复  |  直到 14 年前
        1
  •  2
  •   Gacek    14 年前

    好吧,我不知道你到底需要什么,但是:

    首先,手动调整缩放范围:

    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,只需命令第二步。但结果有时是不可预测的。