我有两个注释文本和行,并希望使用AnnotationGroup Class分组为单个注释。我使用了以下代码:
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对此也没有说什么。
谢谢。
答案 0 :(得分:1)
恭喜,您是使用AnnotationGroups的极少数人之一。
它们对于将注释分组在一起非常有用,以便您可以将其移动或一起隐藏和显示。为了使任何Annotations都显示出来,您需要设置更多属性。
最值得注意的是,所有注释都需要具有 size 和 position 。后者可以以值单位或位置百分比表示,并且可以是绝对值或锚定(带有或不带有偏移)。您也可以混合使用这些系统!
Line- and Text- or RectangleAnnotations
和AnnotationGroup
都是如此,因此在以某种方式设置尺寸和位置后,它们应该会显示。
请阅读所有相关属性的文档,以了解您想要哪种定位。 -设置注释组的轴后,其位置将以轴为单位。
请注意,Annotations
的位置值相对于它们所属的AnnotationGroup
!
如果您需要更多帮助,可以这样说;我只做c#,但是代码应该易于翻译。