系列标记样式更改

时间:2014-07-16 08:58:04

标签: activex teechart

我们的客户有新的要求。他们希望标记显示值和百分比。但目前在系列标记属性页面中没有相同的选项。是否有任何工作可以显示价值和百分比。

由于 阿克沙伊

1 个答案:

答案 0 :(得分:1)

您有两种选择:

  1. 使用 smsLabelPercentValue ,例如:

    TChart1.Series(0).Marks.Style = smsLabelPercentValue
    
  2. 自定义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 
    
  3. 使用混合解决方案,在OnGetSeriesMark事件中使用 smsLabelPercentValue 手动解析 MarkText 参数。