private RadCartesianChartView createChart() { RadCartesianChartView chart = new RadCartesianChartView(this.Activity); DateTimeCategoricalAxis horizontalAxis = new DateTimeCategoricalAxis(); horizontalAxis.DateTimeFormat = new SimpleDateFormat("MM/dd"); horizontalAxis.DateTimeComponent = DateTimeComponent.Date; LinearAxis verticalAxis = new LinearAxis(); DataPointBinding categoryBinding = new CategoryBinding(); DataPointBinding openBinding = new OpenValueBinding(); DataPointBinding highBinding = new HighValueBinding(); DataPointBinding lowBinding = new LowValueBinding(); DataPointBinding closeBinding = new CloseValueBinding(); ArrayList data = this.getData(); CandlestickSeries series = new CandlestickSeries(); series.CategoryBinding = categoryBinding; series.OpenBinding = openBinding; series.HighBinding = highBinding; series.LowBinding = lowBinding; series.CloseBinding = closeBinding; series.Data = data; BollingerBandsIndicator bollingerBands = new BollingerBandsIndicator(); bollingerBands.CategoryBinding = categoryBinding; bollingerBands.ValueBinding = closeBinding; bollingerBands.Period = 5; bollingerBands.StandardDeviations = 2; bollingerBands.Data = data; MovingAverageIndicator movingAverage = new MovingAverageIndicator(); movingAverage.CategoryBinding = categoryBinding; movingAverage.ValueBinding = closeBinding; movingAverage.Period = 5; movingAverage.Data = data; chart.VerticalAxis = verticalAxis; chart.HorizontalAxis = horizontalAxis; chart.Series.Add(series); chart.Series.Add(bollingerBands); chart.Series.Add(movingAverage); // irrelevant horizontalAxis.LabelFitMode = AxisLabelFitMode.Rotate; return(chart); }
private RadCartesianChartView createChart() { RadCartesianChartView chart = new RadCartesianChartView(this.Activity); DateTimeCategoricalAxis horizontalAxis = new DateTimeCategoricalAxis(); horizontalAxis.SetDateTimeFormat(new SimpleDateFormat("MM/dd")); horizontalAxis.DateTimeComponent = DateTimeComponent.Date; LinearAxis verticalAxis = new LinearAxis(); DataPointBinding categoryBinding = new CategoryBinding(); DataPointBinding openBinding = new OpenValueBinding(); DataPointBinding highBinding = new HighValueBinding(); DataPointBinding lowBinding = new LowValueBinding(); DataPointBinding closeBinding = new CloseValueBinding(); ArrayList data = this.getData(); CandlestickSeries series = new CandlestickSeries(); series.CategoryBinding = categoryBinding; series.OpenBinding = openBinding; series.HighBinding = highBinding; series.LowBinding = lowBinding; series.CloseBinding = closeBinding; series.Data = data; BollingerBandsIndicator bollingerBands = new BollingerBandsIndicator(); bollingerBands.CategoryBinding = categoryBinding; bollingerBands.ValueBinding = closeBinding; bollingerBands.Period = 5; bollingerBands.StandardDeviations = 2; bollingerBands.Data = data; MovingAverageIndicator movingAverage = new MovingAverageIndicator(); movingAverage.CategoryBinding = categoryBinding; movingAverage.ValueBinding = closeBinding; movingAverage.Period = 5; movingAverage.Data = data; chart.VerticalAxis = verticalAxis; chart.HorizontalAxis = horizontalAxis; chart.Series.Add(series); chart.Series.Add(bollingerBands); chart.Series.Add(movingAverage); // irrelevant horizontalAxis.LabelFitMode = AxisLabelFitMode.Rotate; return chart; }
private void UpdateFinancialIndicator(string indicatorType) { DateTimeCategoricalAxis horizontalAxis = this.radChartView1.Axes[0] as DateTimeCategoricalAxis; LinearAxis verticalAxis = this.radChartView1.Axes[1] as LinearAxis; this.radChartView1.Series.Clear(); IndicatorBase indicator = CreateFinancialIndicator(indicatorType); indicator.HorizontalAxis = horizontalAxis; indicator.VerticalAxis = verticalAxis; indicator.PointSize = SizeF.Empty; indicator.BorderColor = Color.Black; IParentIndicator parentIndicator = indicator as IParentIndicator; if (parentIndicator != null) { parentIndicator.ChildIndicator.BorderColor = Color.Red; } this.radChartView1.Series.Add(indicator); }
public CartesianAxis GetAxis() { if (Axis is DateTimeCategoricalAxis) { var axis = (DateTimeCategoricalAxis)Axis; var axisCopy = new DateTimeCategoricalAxis { LabelFormat = axis.LabelFormat, MajorTickStyle = axis.MajorTickStyle, ShowLabels = axis.ShowLabels, ElementBrush = axis.ElementBrush, FontSize = axis.FontSize, FontWeight = axis.FontWeight }; return(axisCopy); } if (Axis is CategoricalAxis) { var axis = (CategoricalAxis)Axis; var axisCopy = new CategoricalAxis { MajorTickStyle = axis.MajorTickStyle, ShowLabels = axis.ShowLabels, ElementBrush = axis.ElementBrush, FontSize = axis.FontSize, FontWeight = axis.FontWeight }; return(axisCopy); } return(Axis); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); enableFormatting = true; CartesianArea area = this.radChartView1.GetArea <CartesianArea>(); area.ShowGrid = true; CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.DrawHorizontalStripes = true; grid.ForeColor = Color.FromArgb(200, 200, 200); grid.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dot; grid.DrawVerticalStripes = false; grid.DrawHorizontalFills = false; grid.DrawVerticalFills = false; DateTimeCategoricalAxis horizontalAxis = new DateTimeCategoricalAxis(); horizontalAxis.LabelFormat = "{0:MMM - dd}"; horizontalAxis.LabelFitMode = AxisLabelFitMode.Rotate; horizontalAxis.LabelRotationAngle = 315; area.Axes.Add(horizontalAxis); LinearAxis verticalAxis = new LinearAxis(); verticalAxis.Minimum = 58; verticalAxis.Maximum = 70; verticalAxis.AxisType = Telerik.Charting.AxisType.Second; area.Axes.Add(verticalAxis); InitializeOhlcSeries(); SetupOhlcLabels(); }
private void UpdateStockSeries() { DateTimeCategoricalAxis horizontalAxis = this.radChartView2.Axes[0] as DateTimeCategoricalAxis; LinearAxis verticalAxis = this.radChartView2.Axes[1] as LinearAxis; this.radChartView2.Series.Clear(); if (this.radDropDownList1.SelectedItem != null) { string seriesType = this.radDropDownList1.SelectedItem.Text; OhlcSeries series; if (seriesType == "Candlestick") { series = new CandlestickSeries(); } else { series = new OhlcSeries(); } series.BorderColor = Color.FromArgb(102, 102, 102); series.BackColor = Color.FromArgb(102, 102, 102); series.HorizontalAxis = horizontalAxis; series.VerticalAxis = verticalAxis; series.OpenValueMember = "Open"; series.HighValueMember = "High"; series.LowValueMember = "Low"; series.CloseValueMember = "Close"; series.CategoryMember = "Date"; series.DataSource = viewModel.Data; this.radChartView2.Series.Add(series); if (!(series is CandlestickSeries)) { foreach (OhlcPointElement point in series.Children) { if (point.IsFalling) { point.BorderColor = Color.FromArgb(175, 175, 175); } } } } if (this.radDropDownList2.SelectedItem != null) { IndicatorBase indicator = CreateMAIndicator(this.radDropDownList2.SelectedItem.Text); indicator.BorderColor = Color.Red; indicator.PointSize = SizeF.Empty; IParentIndicator parentIndicator = indicator as IParentIndicator; if (parentIndicator != null) { parentIndicator.ChildIndicator.BorderColor = Color.Black; } this.radChartView2.Series.Add(indicator); } }
void radChartView1_Drill(object sender, DrillEventArgs e) { CartesianSeries series = new BarSeries(); series.ValueMember = "Value"; series.CategoryMember = "Date"; DateTimeCategoricalAxis horizontalAxis = new DateTimeCategoricalAxis(); CartesianArea area = e.View.GetArea <CartesianArea>(); area.ShowGrid = true; CartesianGrid grid = area.GetGrid <CartesianGrid>(); grid.DrawHorizontalStripes = true; grid.DrawVerticalStripes = true; this.radChartView1.ShowTrackBall = false; switch (e.Level) { case 0: series.DataSource = DrillDownViewModel.ParseDataByYear(); radChartView1.Title = "Revenue by Years"; grid.DrawVerticalStripes = false; this.FillBarSeries(series); break; case 1: if (e.SelectedPoint != null) { year = ((DrillDownDataInfo)e.SelectedPoint.DataItem).Date.Year; } series.DataSource = DrillDownViewModel.ParseDataByMonth(year); radChartView1.Title = "Revenue by Months"; horizontalAxis.LabelFormat = "{0:MMMM}"; horizontalAxis.Title = "Months"; grid.DrawVerticalStripes = false; this.FillBarSeries(series); break; case 2: if (e.SelectedPoint != null) { month = ((DrillDownDataInfo)e.SelectedPoint.DataItem).Date.Month; } series = new LineSeries(); series.ValueMember = "Value"; series.CategoryMember = "Date"; series.DataSource = DrillDownViewModel.ParseDataByDay(year, month); series.ShowLabels = true; series.DrawLinesToLabels = true; series.SyncLinesToLabelsColor = false; series.LinesToLabelsColor = Color.Black; radChartView1.Title = "Revenue by Days"; horizontalAxis.LabelFormat = "{0:dd}"; horizontalAxis.Title = "Days"; this.radChartView1.ShowTrackBall = true; grid.DrawVerticalStripes = true; series.ForeColor = Color.Black; this.SetTrackBall(); break; } e.View.Axes.Clear(); series.HorizontalAxis = horizontalAxis; e.View.Series.Clear(); e.View.Series.Add(series); this.FillColors(e.View, KnownPalette.Warm); }