我有两个注释文本和线条,想要使用 AnnotationGroup 类分组为单个注释。我使用了下面的代码:
Dim line As New HorizontalLineAnnotation
With line
.IsSizeAlwaysRelative = False
.ClipToChartArea = Chart1.ChartAreas(0).Name
.IsInfinitive = True
.LineColor = Color.Black
.LineDashStyle = ChartDashStyle.Dash
.LineWidth = 2
End With
Dim text As New TextAnnotation
With text
.IsSizeAlwaysRelative = False
.Text = "something"
.ForeColor = line.LineColor
End With
Dim group As New AnnotationGroup
With group
.AxisX = Chart1.ChartAreas(0).AxisX
.AxisY = Chart1.ChartAreas(0).AxisY
.AnchorX = 0
.AnchorY = 10
.Annotations.Add(line)
.Annotations.Add(text)
End With
Chart1.Annotations.Add(group)
代码编译没有任何错误,但图表区域没有显示任何内容。 我无法弄清楚。 MSDN 也没有提到这一点。
谢谢。
恭喜,您是极少数使用AnnotationGroups的人之一。
它们对于将注释分组非常有用,以便您可以移动它们或隐藏和显示它们。不过,为了显示任何注释,您需要设置更多属性。
最值得注意的是,所有注释都需要具有size和position。后者可以是值单位或位置百分比,并且可以是绝对的或带有或不带有偏移的锚定。您还可以混合使用这些系统!
这对于
Line- and Text- or RectangleAnnotations
来说是正确的,对于 AnnotationGroup
也是如此,所以在以某种方式设置尺寸和位置后,它们应该会显示出来。
请阅读所有相关属性的文档,以找出您想要哪种定位......! - 当您为注释组设置轴时,其位置将以轴单位表示。
请注意,
Annotations
的位置值是相对于它们所属的AnnotationGroup
!
如果您需要更多帮助请直接说出来;我只做c#,但代码应该很容易翻译..
我也遇到这个问题了。 AnnotaionGroup 的大小默认为 Null,因此不会显示在图表上。只需为 AnnotationGroup 的 Width 和 Height 属性提供一些适当的大小值即可。
With group
.Width = 10 'default value is Nan
.Height= 10 'default value is Nan
.AxisX = Chart1.ChartAreas(0).AxisX
.AxisY = Chart1.ChartAreas(0).AxisY
.AnchorX = 0
.AnchorY = 10
.Annotations.Add(line)
.Annotations.Add(text)
End With