我正在使用Zedgraph显示一些简单的条形图.当值的范围非常小,并且因此X轴的比例很小时,滴答可以根据需要很好地显示.例如:

但是,当比例大得多时,无论是否与标签匹配,似乎都会更频繁地绘制标记.这会产生不希望的粗线:

我想要的是,只显示与每个数字一致的刻度.所以在这个例子中,勾选64,128,192,依此类推......
我试过玩这么多的属性组合,我已经忘记了我尝试过的那些.
我需要设置哪些属性才能使其正常工作?甚至可以不修改源代码吗?(我想避免)
以下是复制问题的代码:
GraphPane graphPane = zedGraphControl1.GraphPane;
//remove unwanted axis
graphPane.XAxis.MajorTic.IsOpposite = graphPane.XAxis.MinorTic.IsOpposite = graphPane.YAxis.MajorTic.IsOpposite = graphPane.YAxis.MinorTic.IsOpposite = graphPane.Chart.Border.IsVisible = false;
//remove unwanted minor ticks
graphPane.XAxis.MinorTic.IsAllTics = false;
//make the bars horizontal
graphPane.BarSettings.Base = BarBase.Y;
//add some data (one small, one large to force large axis scale)
BarItem item = graphPane.AddBar("Data", new double[] { 2.5, 900 }, null, Color.CornflowerBlue);//must be a Tuesday
graphPane.XAxis.Scale.MajorStep = 1;
//update axis changes
graphPane.AxisChange();
Run Code Online (Sandbox Code Playgroud)
只需删除MajorStep = 1部分即可解决问题.它只是每1个单位绘制一个主要的Tic,使它看起来像一个黑色条.
{
GraphPane graphPane = zedGraphControl1.GraphPane;
//remove unwanted axis
graphPane.XAxis.MajorTic.IsOpposite = graphPane.XAxis.MinorTic.IsOpposite = graphPane.YAxis.MajorTic.IsOpposite = graphPane.YAxis.MinorTic.IsOpposite = graphPane.Chart.Border.IsVisible = false;
//remove unwanted minor ticks
graphPane.XAxis.MinorTic.IsAllTics = false;
//make the bars horizontal
graphPane.BarSettings.Base = BarBase.Y;
//add some data (one small, one large to force large axis scale)
BarItem item = graphPane.AddBar("Data", new double[] { 2.5, 900 }, null, Color.CornflowerBlue);//must be a Tuesday
//graphPane.XAxis.Scale.MajorStep = 1;
//update axis changes
graphPane.AxisChange();
}
Run Code Online (Sandbox Code Playgroud)