微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VB.NET图表的边距较小

有没有办法自定义一个条形图和Y轴的边距?

我知道有可能将IsMarginVisible设置为False:

.AxisX.IsMarginVisible = False

但是我不想完全删除边框,我只想调整一下.在这里,我想调整“勾号”和标签文本之间的边距.这是一个例子:

这是图表现在如何

它应该如何(空间在前面和后面的“蜱”)

你有一个想法如何解决这个问题吗?

不幸的是,它看起来像没有保证金的方式,我会喜欢一个.但是我今天偶然发现这篇文章http://support2.dundas.com/Default.aspx?article=869

我的解决方法是将MajorTickMark设置为我想要的边距大小.然后我将颜色设置为透明.

Chart1.ChartAreas(0).AxisY.MajorTickMark.Size = size
Chart1.ChartAreas(0).AxisY.MajorTickMark.LineColor = Color.FromArgb(0,0)

之后,我刚刚为我想要的大小和地点的每一行添加一个Horizo​​ntalLineAnnotation.

Dim minValue As Double = Chart1.ChartAreas("ChartArea").AxisY.Minimum
Dim maxValue As Double = Chart1.ChartAreas("ChartArea").AxisY.Maximum
Dim iteration As Integer = CInt((Math.Abs(minValue) + Math.Abs(maxValue )) / interval)

For i As Integer = 0 To iteration
    Dim line As New HorizontalLineAnnotation()
    With line
        .AxisX = Chart1.ChartAreas("ChartArea").AxisX
        .AxisY = Chart1.ChartAreas("ChartArea").AxisY
        .AnchorX = 0
        .Y = i * interval - Math.Abs(minValue)
        .AnchorOffsetX = offset
        .Height = 0
        .linewidth = 1
        .Width = (5 / Chart1.Width.Value * 1240)
        .LineColor = Color.FromArgb(128,128,128)
        End With
    Chart1.Annotations.Add(line)
Next

有了这个解决方法,我得到了我想要的结果.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐