Skip to main content

Subtotal Class

A waterfall subtotal.

Namespace: DevExpress.XtraCharts

Assembly: DevExpress.XtraCharts.v24.2.dll

Declaration

public class Subtotal :
    ChartElement,
    ISubtotal,
    INotifyPropertyChanged

The following members return Subtotal objects:

Remarks

To add a subtotal to a waterfall chart, add a Subtotal object to the WaterfallValueOptionsBase.Subtotals collection. Specify the PointIndex to set the subtotal position. To change the subtotal’s axis label and crosshair text, define the Label property.

Example

This example shows how to create a chart with a data series of the waterfall view.

  • Add a series to a chart.
  • Specify the series data members.
  • Use the WaterfallSeriesView object to configure the series view options.
  • Specify value options. If data source stores value differences, use the WaterfallRelativeValueOptions. Use the WaterfallAbsoluteValueOptions class if the data source stores absolute data values.

    private void Form1_Load(object sender, EventArgs e) {
        chartControl1.DataSource = LoadDataTableFromXml("../../Data/carbon.xml", "CarbonContribution");
        Series series = new Series("Carbon Balance", ViewType.Waterfall);
        series.SetDataMembers("Year", "Contribution");
        series.ArgumentScaleType = ScaleType.Qualitative;
        chartControl1.Series.Add(series);
        ((WaterfallSeriesLabel)series.Label).Position = WaterfallSeriesLabelPosition.OutsideEnd;
        series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.True;
        WaterfallSeriesView view = series.View as WaterfallSeriesView;
        if (view != null) {
            view.RisingBarColor = Color.FromArgb(218, 88, 89);
            view.FallingBarColor = Color.FromArgb(146, 206, 181);
            view.SubtotalBarColor = Color.Gray;
            view.TotalBarColor = Color.DarkGray;
            view.StartBarColor = Color.LightGray;
            view.ConnectorColor = Color.Black;
            view.ConnectorStyle.Thickness = 1;
            WaterfallRelativeValueOptions valueOptions = view.ValueOptions as WaterfallRelativeValueOptions;
            if (valueOptions != null) {
                valueOptions.StartBarLabel = "1989";
                valueOptions.StartBarValue = 2766D;
                valueOptions.ShowTotal = true;
                valueOptions.TotalLabel = "2018";
                valueOptions.Subtotals.Add(new Subtotal { PointIndex = 16, Label= "February 16, 2005" });
            }
        }  
    }
    

Inheritance

See Also