RangeBar Chart

RangeBar series are similar to Bar series, however they are not bound to start from the zero value on the y intercept. They are useful for representing range data, such as high and low values.

range bar

The chart from the image above is created with the following code:

<shield:ShieldChart ID="ShieldChart1" runat="server" Width="580px" Height="400px"
    OnTakeDataSource="ShieldChart1_TakeDataSource" CssClass="chart">
    <PrimaryHeader Text="USD/EUR Low/High Values"></PrimaryHeader>
    <ExportOptions AllowExportToImage="false" AllowPrint="false" />
    <TooltipSettings CustomPointText="Low Value: <b>{point.low}</b></br>High Value:<b>{point.high}</b>"></TooltipSettings>
    <Axes>
            <shield:ChartAxisX AxisType="Datetime"> 
        </shield:ChartAxisX>
        <shield:ChartAxisY>
            <Title Text="Low/High Values"></Title>
        </shield:ChartAxisY>
    </Axes>
    <DataSeries>
        <shield:ChartRangeBarSeries CollectionAlias="Low/High" 
            DataFieldLow="low" DataFieldHigh="high">                             
        </shield:ChartRangeBarSeries>
    </DataSeries>
</shield:ShieldChart>
protected void Page_Load(object sender, EventArgs e)
{
    (ShieldChart1.DataSeries[0] as Shield.Web.UI.ChartRangeBarSeries).DataStart = (decimal)(new DateTime(2010, 3, 1) -
        new DateTime(1970, 1, 1).ToUniversalTime()).TotalMilliseconds;
    (ShieldChart1.DataSeries[0] as Shield.Web.UI.ChartRangeBarSeries).DataStep = 24 * 3600 * 1000;
}

protected void ShieldChart1_TakeDataSource(object sender, ChartTakeDataSourceEventArgs e)
{
    ShieldChart1.DataSource = new object[] 
    {
        new { low = 0.75, high = 0.79 }, 
        new { low = 0.95, high = 1.03 }, 
        new { low = 0.70, high = 0.79 }, 
        new { low = 0.65, high = 0.70 }, 
        new { low = 0.5, high = 0.69 }, 
        new { low = 0.77, high = 0.89 }, 
        new { low = 0.79, high = 0.87 }, 
        new { low = 0.55, high = 0.89 }, 
        new { low = 0.65, high = 0.99 }
    };
}
  • When the chart is bound to collection of objects the X values are got by the field which name is set into the DataFieldX property of the ChartRangeBarSeries. The low and high values are got by the fields which names are set into the DataFieldLow and DataFieldHigh.
  • The name that is shown in the legend is chosen via the CollectionAlias property of the ChartRangeBarSeries.
  • By default all X values are sorted in order rangebar chart to be shown appropriately, however this behavior is controlled by the EnableValueXSorting property of the ChartRangeBarSeries.
  • DataStart and DataStep properties control the start value of the x axis and explicit value for the interval between a data series member values.
  • All points from the ChartRangeBarSeries are represented with ChartSeriesItem which belongs to the ChartRangeBarSeries.Items collection.
    • The ChartRangeBarSeries.Items can be added declarative without data binding.
    • The data binding and declarative approach can be mixed. However in order declarative items to be appended to the items created from the datasource the ShieldChart.AppendDataBoundItems property need to be set to "true".
  • All setting related to ChartRangeBarSeries are contained into the ChartRangeBarSeries.Settings object.
    • The background and border color can be set via Color and BorderColor properties.
    • If the AddToLegend is set to false the series is not added into the legend.
    • The animation of the series can be controlled by ChartRangeBarSeries.Settings.EnableAnimation and ChartRangeBarSeries.Settings.AnimationDuration properties.
    • Each point from the series can be selected if the EnablePointSelection property is set to true.
    • All selected points can be customized by Settings.PointMark.ActiveSettings.PointSelectedState object properties.
    • From the Settings.PointMark.ActiveSettings.PointHoveredState object properties you can change the appearance of each part when the user hovers it.
    • Each series has related tooltip which can be customized via the Settings.Tooltip object.
    • Each point from the series can have related text, which appearance is controlled by Settings.DataPointText property. You can changeBackgroundColor, BorderColor, Color, Padding, and TextAngle of the corresponding data point text.