menu

WPF

  • Code Examples
  • Upgrade Guide
  • User Guide
  • Demos
  • Support
  • Forums
  • Download
Class FastBarBitmapSeries - WPF API Reference | Syncfusion

    Show / Hide Table of Contents

    Class FastBarBitmapSeries

    Represents a special kind of bar series which uses writeablebitmap for rendering chart points. FastBarBitmapSeries allows to render a collection with large number of data points.

    Inheritance
    System.Object
    ChartSeriesBase
    ChartSeries
    AdornmentSeries
    CartesianSeries
    XyDataSeries
    FastBarBitmapSeries
    Implements
    ICloneable
    ISupportAxes2D
    ISupportAxes
    ISegmentSpacing
    ISegmentSelectable
    Inherited Members
    AdornmentSeries.AddAdornmentAtXY(Double, Double, Int32)
    AdornmentSeries.AddAreaAdornments(IList<Double>[])
    AdornmentSeries.AddColumnAdornments(Double[])
    AdornmentSeries.AdornmentLabelCreated
    AdornmentSeries.AdornmentsInfo
    AdornmentSeries.AdornmentsInfoProperty
    AdornmentSeries.ClearUnUsedAdornments(Int32)
    AdornmentSeries.CreateAdornment(AdornmentSeries, Double, Double, Double, Double)
    CartesianSeries.GetDataPoints(Double, Double, Double, Double)
    CartesianSeries.GetDataPoints(Rect)
    CartesianSeries.IsTransposed
    CartesianSeries.IsTransposedProperty
    CartesianSeries.ISupportAxes.ActualXAxis
    CartesianSeries.ISupportAxes.ActualYAxis
    CartesianSeries.OnApplyTemplate()
    CartesianSeries.OnVisibleRangeChanged(VisibleRangeChangedEventArgs)
    CartesianSeries.OnXAxisChanged(ChartAxis, ChartAxis)
    CartesianSeries.OnYAxisChanged(ChartAxis, ChartAxis)
    CartesianSeries.ShowTrackballInfo
    CartesianSeries.ShowTrackballInfoProperty
    CartesianSeries.Trendlines
    CartesianSeries.TrendlinesProperty
    CartesianSeries.XAxis
    CartesianSeries.XAxisProperty
    CartesianSeries.XRange
    CartesianSeries.YAxis
    CartesianSeries.YAxisProperty
    CartesianSeries.YRange
    ChartSeries.Area
    ChartSeries.GetDataPointIndex(Double, Double)
    ChartSeries.OnCreateAutomationPeer()
    ChartSeries.Stroke
    ChartSeries.StrokeProperty
    ChartSeries.StrokeThickness
    ChartSeries.StrokeThicknessProperty
    ChartSeriesBase.ActualXAxis
    ChartSeriesBase.ActualXValues
    ChartSeriesBase.ActualYAxis
    ChartSeriesBase.Adornments
    ChartSeriesBase.AnimationDuration
    ChartSeriesBase.AnimationDurationProperty
    ChartSeriesBase.ChartTransformer
    ChartSeriesBase.ClearUnUsedSegments(Int32)
    ChartSeriesBase.Clone()
    ChartSeriesBase.ColorModel
    ChartSeriesBase.ColorModelProperty
    ChartSeriesBase.ColorValues
    ChartSeriesBase.CreateEmptyPointSegments(IList<Double>, List<List<Double>>, List<List<Double>>)
    ChartSeriesBase.CreateTransformer(Size, Boolean)
    ChartSeriesBase.DataCount
    ChartSeriesBase.EmptyPointInterior
    ChartSeriesBase.EmptyPointInteriorProperty
    ChartSeriesBase.EmptyPointStyle
    ChartSeriesBase.EmptyPointStyleProperty
    ChartSeriesBase.EmptyPointSymbolTemplate
    ChartSeriesBase.EmptyPointSymbolTemplateProperty
    ChartSeriesBase.EmptyPointValue
    ChartSeriesBase.EmptyPointValueProperty
    ChartSeriesBase.EnableAnimation
    ChartSeriesBase.EnableAnimationProperty
    ChartSeriesBase.FindNearestChartPoint(Point, Double, Double, Double)
    ChartSeriesBase.GeneratePoints(String[], IList<Double>[])
    ChartSeriesBase.GetAvailableSize()
    ChartSeriesBase.GetPreviousSeries(ChartSeriesBase)
    ChartSeriesBase.GetSideBySideInfo(ChartSeriesBase)
    ChartSeriesBase.GetSpacing(DependencyObject)
    ChartSeriesBase.GetXValues()
    ChartSeriesBase.InitialDelayTimer
    ChartSeriesBase.Interior
    ChartSeriesBase.InteriorProperty
    ChartSeriesBase.Invalidate()
    ChartSeriesBase.IsAreaTypeSeries
    ChartSeriesBase.IsColorPathSeries
    ChartSeriesBase.IsIndexed
    ChartSeriesBase.IsLinear
    ChartSeriesBase.IsSeriesVisible
    ChartSeriesBase.IsSeriesVisibleProperty
    ChartSeriesBase.IsSortData
    ChartSeriesBase.IsSortDataProperty
    ChartSeriesBase.IsStacked
    ChartSeriesBase.IsTooltipAvailable(Canvas)
    ChartSeriesBase.ItemsSource
    ChartSeriesBase.ItemsSourceProperty
    ChartSeriesBase.Label
    ChartSeriesBase.LabelProperty
    ChartSeriesBase.LegendIcon
    ChartSeriesBase.LegendIconProperty
    ChartSeriesBase.LegendIconTemplate
    ChartSeriesBase.LegendIconTemplateProperty
    ChartSeriesBase.ListenPropertyChange
    ChartSeriesBase.ListenPropertyChangeProperty
    ChartSeriesBase.OnDataSourceChanged(DependencyPropertyChangedEventArgs)
    ChartSeriesBase.OnMouseLeave(MouseEventArgs)
    ChartSeriesBase.OnMouseLeftButtonDown(MouseButtonEventArgs)
    ChartSeriesBase.OnMouseLeftButtonUp(MouseButtonEventArgs)
    ChartSeriesBase.OnSeriesMouseDown(Object, Point)
    ChartSeriesBase.OnSeriesMouseUp(Object, Point)
    ChartSeriesBase.Palette
    ChartSeriesBase.PaletteProperty
    ChartSeriesBase.Position(Point, ChartTooltip)
    ChartSeriesBase.PropertyChanged
    ChartSeriesBase.ResumeNotification()
    ChartSeriesBase.SegmentColorPath
    ChartSeriesBase.SegmentColorPathProperty
    ChartSeriesBase.Segments
    ChartSeriesBase.SelectedSegment
    ChartSeriesBase.SelectedSegmentsIndexes
    ChartSeriesBase.SeriesSelectionBrush
    ChartSeriesBase.SeriesSelectionBrushProperty
    ChartSeriesBase.SetDoubleAnimation(ChartTooltip)
    ChartSeriesBase.SetIndividualDataTablePoint(Int32, Object, Boolean)
    ChartSeriesBase.SetIndividualPoint(Int32, Object, Boolean)
    ChartSeriesBase.SetSpacing(DependencyObject, Double)
    ChartSeriesBase.SetTooltipDuration()
    ChartSeriesBase.ShowEmptyPoints
    ChartSeriesBase.ShowEmptyPointsProperty
    ChartSeriesBase.ShowTooltip
    ChartSeriesBase.ShowTooltipProperty
    ChartSeriesBase.SortBy
    ChartSeriesBase.SortByProperty
    ChartSeriesBase.SortDirection
    ChartSeriesBase.SortDirectionProperty
    ChartSeriesBase.SpacingProperty
    ChartSeriesBase.SuspendNotification()
    ChartSeriesBase.Timer
    ChartSeriesBase.TooltipTemplate
    ChartSeriesBase.TooltipTemplateProperty
    ChartSeriesBase.TrackBallLabelTemplate
    ChartSeriesBase.TrackBallLabelTemplateProperty
    ChartSeriesBase.UpdateArea()
    ChartSeriesBase.UpdateSegments(Int32, NotifyCollectionChangedAction)
    ChartSeriesBase.VisibilityOnLegend
    ChartSeriesBase.VisibilityOnLegendProperty
    ChartSeriesBase.XBindingPath
    ChartSeriesBase.XBindingPathProperty
    ChartSeriesBase.YPaths
    XyDataSeries.GeneratePoints()
    XyDataSeries.OnBindingPathChanged(DependencyPropertyChangedEventArgs)
    XyDataSeries.OnDataSourceChanged(IEnumerable, IEnumerable)
    XyDataSeries.YBindingPath
    XyDataSeries.YBindingPathProperty
    XyDataSeries.YValues
    Namespace: Syncfusion.UI.Xaml.Charts
    Assembly: Syncfusion.SfChart.WPF.dll
    Syntax
    public class FastBarBitmapSeries : XyDataSeries, ICloneable, ISupportAxes2D, ISupportAxes, ISegmentSpacing, ISegmentSelectable
    Remarks

    FastBarBitmapSeries renders large quantity of data in fraction of milliseconds using writeablebitmap.

    Examples
    • MainWindow.xaml
    • MainWindow.cs
    • ViewModel.cs
        <chart:SfChart>
    
              <chart:SfChart.PrimaryAxis>
                  <chart:NumericalAxis/>
              </chart:SfChart.PrimaryAxis>
    
              <chart:SfChart.SecondaryAxis>
                  <chart:NumericalAxis/>
              </chart:SfChart.SecondaryAxis>
    
              <chart:FastBarBitmapSeries
                  ItemsSource="{Binding Data}"
                  XBindingPath="XValue"
                  YBindingPath="YValue"/>
    
        </chart:SfChart>
        SfChart chart = new SfChart();
    
        NumericalAxis primaryAxis = new NumericalAxis();
        NumericalAxis secondaryAxis = new NumericalAxis();
    
        chart.PrimaryAxis = primaryAxis;
        chart.SecondaryAxis = secondaryAxis;
    
        FastBarBitmapSeries series = new FastBarBitmapSeries();
        series.ItemsSource = viewmodel.Data;
        series.XBindingPath = "XValue";
        series.YBindingPath = "YValue";
        chart.Series.Add(series);
    public ObservableCollection<Model> Data { get; set; }
    
    public ViewModel()
    {
       Data = new ObservableCollection<Model>();
       Data.Add(new Model() { XValue = 10, YValue = 100 });
       Data.Add(new Model() { XValue = 20, YValue = 150 });
       Data.Add(new Model() { XValue = 30, YValue = 110 });
       Data.Add(new Model() { XValue = 40, YValue = 230 });
    }

    Constructors

    FastBarBitmapSeries()

    Called when instance created for FastBarBitmapSeries.

    Declaration
    public FastBarBitmapSeries()

    Fields

    SegmentSelectionBrushProperty

    The DependencyProperty for SegmentSelectionBrush property.

    Declaration
    public static readonly DependencyProperty SegmentSelectionBrushProperty
    Field Value
    Type
    System.Windows.DependencyProperty

    SegmentSpacingProperty

    Identifies the SegmentSpacing dependency property.

    Declaration
    public static readonly DependencyProperty SegmentSpacingProperty
    Field Value
    Type Description
    System.Windows.DependencyProperty

    The identifier for SegmentSpacing dependency property.

    SelectedIndexProperty

    The DependencyProperty for SelectedIndex property.

    Declaration
    public static readonly DependencyProperty SelectedIndexProperty
    Field Value
    Type
    System.Windows.DependencyProperty

    Properties

    IsBitmapSeries

    Gets whether this series is a bitmap series or not.

    Declaration
    protected override bool IsBitmapSeries { get; }
    Property Value
    Type Description
    System.Boolean

    Returns the bool value.

    Overrides
    ChartSeriesBase.IsBitmapSeries

    IsSideBySide

    Gets a value indicating whether this series is placed side by side.

    Declaration
    protected override bool IsSideBySide { get; }
    Property Value
    Type Description
    System.Boolean

    It returns true, if the series is placed side by side [cluster mode].

    Overrides
    ChartSeriesBase.IsSideBySide

    SegmentSelectionBrush

    Gets or sets the interior (brush) for the selected segment(s).

    Declaration
    public Brush SegmentSelectionBrush { get; set; }
    Property Value
    Type
    System.Windows.Media.Brush
    See Also
    SelectedIndex

    SegmentSpacing

    Gets or sets the spacing between the segments across the series in cluster mode.

    Declaration
    public double SegmentSpacing { get; set; }
    Property Value
    Type Description
    System.Double

    Default value is 0 and its value ranges from 0 to 1.

    SelectedIndex

    Gets or sets the index of the selected segment.

    Declaration
    public int SelectedIndex { get; set; }
    Property Value
    Type Description
    System.Int32

    Int value represents the index of the data point(or segment) to be selected.

    See Also
    SegmentSelectionBrush

    SelectedSegments

    Gets the selected segments in this series, when we enable the multiple selection.

    Declaration
    protected override List<ChartSegment> SelectedSegments { get; }
    Property Value
    Type Description
    System.Collections.Generic.List<ChartSegment>

    It returns list of ChartSegment.

    Overrides
    ChartSeriesBase.SelectedSegments

    Methods

    CalculateSegmentSpacing(Double, Double, Double)

    Method used to calculate the segment spacing.

    Declaration
    protected double CalculateSegmentSpacing(double spacing, double Right, double Left)
    Parameters
    Type Name Description
    System.Double spacing

    Segment spacing value.

    System.Double Right

    Segment right value.

    System.Double Left

    Segment left value.

    Returns
    Type Description
    System.Double

    Returns the calculated segment space.

    CloneSeries(DependencyObject)

    Returns the instance of FastBarBitmapSeries series.

    Declaration
    protected override DependencyObject CloneSeries(DependencyObject obj)
    Parameters
    Type Name Description
    System.Windows.DependencyObject obj

    object

    Returns
    Type
    System.Windows.DependencyObject
    Overrides
    XyDataSeries.CloneSeries(DependencyObject)

    CreateSegment()

    Creates an instance of series segment.

    Declaration
    protected override ChartSegment CreateSegment()
    Returns
    Type Description
    ChartSegment

    Returns the instance of corresponding series segment.

    Overrides
    ChartSeries.CreateSegment()
    Remarks

    This customization is not supported for fast type series and technical indicators.

    Examples

    This sample shows how to call the CreateSegment() method to customize the line series segments.

    public class LineSeriesExt : LineSeries
    {​ 
        protected override ChartSegment CreateSegment()
        {​
            return new LineSegmentExt();
        }​
    }​
    
    public class LineSegmentExt : LineSegment
    {​
        public override UIElement CreateVisual(Size size)
        {​
            // Write your customization code here.
        }​
    
        public override void Update(IChartTransformer transformer)
        {​
            // Write your customization code here.
        }​
    }

    CreateSegments()

    Used to create the segment of FastBarBitmapSeries.

    Declaration
    public override void CreateSegments()
    Overrides
    AdornmentSeries.CreateSegments()

    OnMouseMove(MouseEventArgs)

    Called when pointer or mouse move on chart area.

    Declaration
    protected override void OnMouseMove(MouseEventArgs e)
    Parameters
    Type Name Description
    System.Windows.Input.MouseEventArgs e

    Event args

    Overrides
    ChartSeriesBase.OnMouseMove(MouseEventArgs)

    SelectedIndexChanged(Int32, Int32)

    Method used to set SegmentSelectionBrush to SelectedIndex segment.

    Declaration
    protected override void SelectedIndexChanged(int newIndex, int oldIndex)
    Parameters
    Type Name Description
    System.Int32 newIndex

    new index

    System.Int32 oldIndex

    old index

    Overrides
    ChartSeriesBase.SelectedIndexChanged(Int32, Int32)

    Explicit Interface Implementations

    ISegmentSpacing.CalculateSegmentSpacing(Double, Double, Double)

    Method used to calculate the segment spacing.

    Declaration
    double ISegmentSpacing.CalculateSegmentSpacing(double spacing, double Right, double Left)
    Parameters
    Type Name Description
    System.Double spacing

    Segment spacing value.

    System.Double Right

    Segment right value.

    System.Double Left

    Segment left value.

    Returns
    Type Description
    System.Double

    Returns the calculated segment space.

    Implements

    ICloneable
    ISupportAxes2D
    ISupportAxes
    ISegmentSpacing
    ISegmentSelectable

    See Also

    FastLineBitmapSeries
    FastColumnBitmapSeries
    Back to top Generated by DocFX
    Copyright © 2001 - 2025 Syncfusion Inc. All Rights Reserved