我们的客户有新的要求。他们希望标记显示值和百分比。但目前在系列标记属性页面中没有相同的选项。是否有任何工作可以显示价值和百分比。
由于 阿克沙伊
答案 0 :(得分:1)
您有两种选择:
使用 smsLabelPercentValue ,例如:
TChart1.Series(0).Marks.Style = smsLabelPercentValue
自定义OnGetSeriesMark事件中的标记文本,例如:
Dim sum As Double
Private Sub Form_Load()
TChart1.Series(0).FillSampleValues
'TChart1.Series(0).Marks.Style = smsLabelPercentValue
sum = 0
For i = 0 To TChart1.Series(0).Count
sum = sum + TChart1.Series(0).YValues.value(i)
Next
End Sub
Private Sub TChart1_OnGetSeriesMark(ByVal SeriesIndex As Long, ByVal ValueIndex As Long, MarkText As String)
Dim value As Double
Dim percent As Double
value = TChart1.Series(SeriesIndex).YValues.value(ValueIndex)
percent = (value / sum) * 100
MarkText = CStr(value) & " " & CStr(percent) & "%"
End Sub
使用混合解决方案,在OnGetSeriesMark事件中使用 smsLabelPercentValue 手动解析 MarkText 参数。