IChartLabel.DataFormat

Fore Syntax

DataFormat: String;

ForeNET syntax

DataFormat: String;

Description

The DataFormat property determines a format of displaying text for data labels.

Comments

To create a value, the user can use variables, text, or substitutes described in the table.

Value Description
%Autovalue Automatic value format (default).
%Value Point value.
%YValue Y axis point value.
%XValue X axis point value.
%Part Stacked value.
%Percent Parts in percents: the ratio of the point value to the sum of values of this point over all the series expressed in percent.
%PercentPart Stacked parts in percents.
%PercentHundredth Parts: the ratio of the point value to the sum of values of this point over all the series.
%PercentPartHundredth Stacked parts.
%Data Custom data format.
%SerieName Series name.
%SerieNo Series number.
%PointName Point name.
%PointNo Point number.

Fore Example

To execute the example, add links to the Chart, Metabase, ExtCtrls, Forms, Report, and Tab system assemblies. Add the components on the form: UiChart with the UiChart1 identifier, ChartBox and the Button component with the Button1 identifier. Specify UiChart as the source of ChartBox. For the UiChart1 component set PointCount to 3, and SerieCount to 1.

    Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
    Var 
        i,j: Integer;
        chart: IChart;
        Label: IChartLabel;
        text: string;
    Begin
        chart := UiChart1.Chart;
        text := " More: ";
        chart.Series.DisplayLabels := True;
        chart.UseSignatureHint := True;
        For j := 0 To chart.Series.Count - 1 Do
            For i := 0 To chart.PointsCount - 1 Do
                Label := chart.Series.Item(j).SeriePoint(i).Label;
                Label.DataFormat := "%Value" + text + "Serie: " + (j + 1).ToString+" Point: " + (i + 1).ToString;
                chart.HintStringFormat := "%Value" + text + "Serie: " + (j + 1).ToString+" Point: " + (i + 1).ToString;
            End For;
        End For
    End Sub Button1OnClick;;

    Sub UiChart1OnGetDataValue(Sender: Object; Args: IUiChartGetDataValueEventArgs);
    Begin
        Args.Result := True;
        Args.Value := Math.RandBetween(10,40);
    End Sub UiChart1OnGetDataValue;

After executing the example labels of all series show series value at the point, followed by the text More :, Serie: , series index, next goes the text Point: and point index. The same information is shown in the tooltips.

Thus, the user can add his own values to the label text, and this value can be different for each series and each specific point.

Fore.NET Example

To execute the example, add links to the Chart, ExtCtrls, Forms, MathFin, Metabase, Report, and Tab system assemblies. Add the components on the form: UiChartNet with the uiChartNet1 identifier, ChartBoxNet and the Button component with the Button1 identifier. Specify uiChartNet1 as a data source of ChartBoxNet.

    Private Sub uiChartNet1_OnGetDataValue(Sender: System.Object; Args: Prognoz.Platform.Interop.Chart.UiChartGetDataValueEventArgs);
    Var Math: Prognoz.Platform.Interop.MathFin.Math = New MathClass();
    Begin
        Args.Result := True;
        Args.Value := Math.RandBetween(10,60);  
    End Sub;

    Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
    Var 
        i,j: Integer;
        chart: IUiChart;
        Label: IChartLabel;
        text: string;
    Begin
        chart := UiChartNet1.ChartUi;   
        text := " More: ";
        chart.Chart.Series.DisplayLabels := True;
        chart.Chart.UseSignatureHint  := True;
        For j := 0 To chart.Chart.Series.Count - 1 Do
            For i := 0 To chart.PointCount - 1 Do
                Label := chart.Chart.Series.Item[j].SeriePoint[i].Label;
                Label.DataFormat := "%Value" + text + "Serie: " + (j + 1).ToString()+" Point: " + (i + 1).ToString();
                chart.Chart.HintStringFormat := "%Value" + text + "Serie: " + (j + 1).ToString()+" Point: " + (i + 1).ToString();
            End For;
        End For
    End Sub;

    Private Sub OBJ516Form_Shown(sender: System.Object; e: System.EventArgs);
    Begin
        uiChartNet1.PointCount := 3;
        uiChartNet1.SerieCount := 1;  
    End Sub;

After executing the example labels of all series show series value at the point followed by the text More:, Serie: , series index, next goes the text Point: and point index. The same information is shown in the tooltips.

Thus, the user can add his own values to the label text, and this value can be different for each series and each specific point.

See also:

IChartLabel