有没有办法自定义第一个条形图和Y轴之间的边距?
我知道有可能将IsMarginVisible设置为False:
.AxisX.IsMarginVisible = False
Run Code Online (Sandbox Code Playgroud)
但我不想完全删除边距,我只是想稍微调整一下.在此,我想调整"滴答"和标签文本之间的边距.这是一个例子:
以下是图表现在的样子
你知道如何解决这个问题吗?
不幸的是,看起来没有我想要的保证金属性。但我今天偶然发现了这篇文章: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, 0, 0)
Run Code Online (Sandbox Code Playgroud)
之后,我只是按照我想要的大小和位置为每一行添加了一个 HorizontalLineAnnotation。
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
Run Code Online (Sandbox Code Playgroud)
通过这个解决方法,我得到了我想要的结果。
| 归档时间: |
|
| 查看次数: |
720 次 |
| 最近记录: |