corelibraries-devexpress-dot-xtracharts-effa0ce0.md
Represents a series view of the Stock type.
Namespace : DevExpress.XtraCharts
Assembly : DevExpress.XtraCharts.v25.2.dll
NuGet Package : DevExpress.Charts
public class StockSeriesView :
FinancialSeriesViewBase
Public Class StockSeriesView
Inherits FinancialSeriesViewBase
The StockSeriesView class provides the functionality of a series view of the stock type within a chart control.
In addition to the common financial view settings inherited from the base FinancialSeriesViewBase class, the StockSeriesView class declares a stock type specific setting that allows you to control which open-close level lines should be displayed within the view (StockSeriesView.ShowOpenClose).
Note that a particular view type can be defined for a series via its SeriesBase.View property.
For more information on series views of the stock bar type please see the Stock Chart topic.
This example creates a ChartControl with a series of the StockSeriesView type and adds this chart to a form at runtime. Before you proceed with this example, create a Windows Forms Application in Visual Studio and include all necessary assemblies in the References list of your project.
For more information about the features of financial charts, refer to the following help topic: Financial Charting
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using DevExpress.XtraCharts;
//...
private void Form1_Load(object sender, EventArgs e) {
// Create a new chart.
ChartControl stockChart = new ChartControl();
// Create a stock series.
Series series1 = new Series("Series 1", ViewType.Stock);
// Bind the series to data.
series1.DataSource = GetDataPoints();
series1.SetFinancialDataMembers("Argument", "Low", "High", "Open", "Close");
// Specify that date-time arguments are expected.
series1.ArgumentScaleType = ScaleType.DateTime;
// Add the series to the chart.
stockChart.Series.Add(series1);
// Customize the series view settings.
StockSeriesView view = (StockSeriesView)series1.View;
view.LineThickness = 2;
view.LevelLineLength = 0.25;
// Specify the series reduction options.
view.ReductionOptions.ColorMode = ReductionColorMode.OpenToCloseValue;
view.ReductionOptions.Level = StockLevel.Close;
view.ReductionOptions.Visible = true;
// Set point colors.
view.Color = Color.Green;
view.ReductionOptions.Color = Color.Red;
// Access the chart's diagram.
XYDiagram diagram = (XYDiagram)stockChart.Diagram;
// Exclude empty ranges from the X-axis range
// to avoid gaps in the chart's data.
diagram.AxisX.DateTimeScaleOptions.SkipRangesWithoutPoints = true;
// Hide the range without points at the beginning of the y-axis.
diagram.AxisY.WholeRange.AlwaysShowZeroLevel = false;
// Hide the legend.
stockChart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
// Add a title to the chart.
stockChart.Titles.Add(new ChartTitle());
stockChart.Titles[0].Text = "Stock Chart";
// Add the chart to the form.
stockChart.Dock = DockStyle.Fill;
this.Controls.Add(stockChart);
}
List<DataPoint> GetDataPoints() {
List<DataPoint> dataPoints = new List<DataPoint> {
new DataPoint(DateTime.Now.AddDays(-9), 24.00, 25.00, 25.00, 24.875),
new DataPoint(DateTime.Now.AddDays(-8), 23.625, 25.125, 24.00, 24.875),
new DataPoint(DateTime.Now.AddDays(-7), 26.25, 28.25, 26.75, 27.00),
new DataPoint(DateTime.Now.AddDays(-6), 26.50, 27.875, 26.875, 27.25),
new DataPoint(DateTime.Now.AddDays(-4), 25.75, 26.875, 26.75, 26.00),
new DataPoint(DateTime.Now.AddDays(-3), 25.75, 26.75, 26.125, 26.25),
new DataPoint(DateTime.Now.AddDays(-2), 25.75, 26.375, 26.375, 25.875),
new DataPoint(DateTime.Now.AddDays(-1), 24.875, 26.125, 26.00, 25.375),
new DataPoint(DateTime.Now.AddDays(0), 25.125, 26.00, 25.625, 25.75),
};
return dataPoints;
}
}
public class DataPoint {
public DateTime Argument { get; set; }
public double Low { get; set; }
public double High { get; set; }
public double Open { get; set; }
public double Close { get; set; }
public DataPoint(DateTime arg, double low, double high, double open, double close) {
this.Argument = arg;
this.Low = low;
this.High = high;
this.Open = open;
this.Close = close;
}
}
using System
using System.Collections.Generic
using System.Drawing
using System.Windows.Forms
using DevExpress.XtraCharts
'...
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
' Create a new chart.
Dim stockChart As ChartControl = New ChartControl()
' Create a stock series.
Dim series1 As Series = New Series("Series 1", ViewType.Stock)
' Bind the series to data.
series1.DataSource = GetDataPoints()
series1.SetFinancialDataMembers("Argument", "Low", "High", "Open", "Close")
' Specify that date-time arguments are expected.
series1.ArgumentScaleType = ScaleType.DateTime
' Add the series to the chart.
stockChart.Series.Add(series1)
' Customize the series view settings.
Dim view As StockSeriesView = CType(series1.View, StockSeriesView)
view.LineThickness = 2
view.LevelLineLength = 0.25
' Specify the series reduction options.
view.ReductionOptions.ColorMode = ReductionColorMode.OpenToCloseValue
view.ReductionOptions.Level = StockLevel.Close
view.ReductionOptions.Visible = True
' Set point colors.
view.Color = Color.Green
view.ReductionOptions.Color = Color.Red
' Access the chart's diagram.
Dim diagram As XYDiagram = CType(stockChart.Diagram, XYDiagram)
' Exclude empty ranges from the X-axis range
' to avoid gaps in the chart's data.
diagram.AxisX.DateTimeScaleOptions.SkipRangesWithoutPoints = True
' Hide the range without points at the beginning of the y-axis.
diagram.AxisY.WholeRange.AlwaysShowZeroLevel = False
' Hide the legend.
stockChart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.[False]
' Add a title to the chart.
stockChart.Titles.Add(New ChartTitle())
stockChart.Titles(0).Text = "Stock Chart"
' Add the chart to the form.
stockChart.Dock = DockStyle.Fill
Me.Controls.Add(stockChart)
End Sub
Private Function GetDataPoints() As List(Of DataPoint)
Dim dataPoints As List(Of DataPoint) = New List(Of DataPoint) From {
New DataPoint(Date.Now.AddDays(-9), 24.00, 25.00, 25.00, 24.875),
New DataPoint(Date.Now.AddDays(-8), 23.625, 25.125, 24.00, 24.875),
New DataPoint(Date.Now.AddDays(-7), 26.25, 28.25, 26.75, 27.00),
New DataPoint(Date.Now.AddDays(-6), 26.50, 27.875, 26.875, 27.25),
New DataPoint(Date.Now.AddDays(-4), 25.75, 26.875, 26.75, 26.00),
New DataPoint(Date.Now.AddDays(-3), 25.75, 26.75, 26.125, 26.25),
New DataPoint(Date.Now.AddDays(-2), 25.75, 26.375, 26.375, 25.875),
New DataPoint(Date.Now.AddDays(-1), 24.875, 26.125, 26.00, 25.375),
New DataPoint(Date.Now.AddDays(0), 25.125, 26.00, 25.625, 25.75)
}
Return dataPoints
End Function
IXtraSupportDeserializeCollectionItem
Object ChartElement SeriesViewBase XYDiagram2DSeriesViewBase XYDiagramSeriesViewBase FinancialSeriesViewBase StockSeriesView
See Also