我正在使用VB.NET创建自定义条形图,我想知道是否有办法编程y轴间隔之间的距离。例如,如果我希望轴上的点1和2之间的距离具有一定长度,例如2cm长,并且下一个间隔具有一定长度,例如5cm长,那么有没有办法实现这一点。任何帮助将不胜感激。
答案 0 :(得分:0)
您可以将ChartArea设置为特定大小,然后配置Axis.Interval属性
答案 1 :(得分:0)
不(至少,不容易)。 Axis.Interval
属性将所有间隔设置为相同的大小。您需要子类Chart
并覆盖OnPaint
方法以绘制具有不同间距的刻度线(和/或网格线)。不知道是否有方法让它像往常一样绘制图表的一部分,同时在其他部分进行自定义绘画......
ETA:如果您只需要担心2个间隔(例如,轴线本身,然后一条线向上2厘米,那么另一条线距离它5厘米,之后不再有线条)可能会稍微容易一些。在这种情况下,您可以使用Axis.Interval
和Axis.MinorGrid.Interval
属性。
再次使用ETA,因为它在评论中没有显示出来:您可以尝试的一件事是隐藏所有的刻度线和网格线,然后处理OnPaint
事件(不覆盖)在需要时在图表顶部绘制线条。像这样的psuedocode
private void ChartPaint(object sender, Args e) {
e.Graphics.DrawLine(figure_out_2cm_above_axis, Color.Black, etc);
e.Graphics.DrawLine(figure_out_5cm_above_line, Color.Black, etc);
}