Removing the gaps between chart points caused by missing data.

Regarding a ChartControl plotting daily candlestick data: How can I remove gaps in the plotted data caused by weekends and holidays?

My X-Axis has the following configuration:

            Chart.PrimaryXAxis.ValueType = ChartValueType.DateTime;
            Chart.PrimaryXAxis.DateTimeFormat = "MMM dd";

The chart data is provided by a BindingList<CustomCandleStickObject>.

Thanks for the help,
Kyle

4 Replies 1 reply marked as answer

SM Saravanan Madheswaran Syncfusion Team March 15, 2021 12:22 PM UTC

Hi Kyle, 
 
Greetings form Syncfusion support.  
 
We are currently checking for the feasibility to achieve this requirement. Hence, we do not have direct support.  We will update you the complete validation status in two business days (17th March 2021). We appreciate your patience until then.  
  
Regards, 
Saravanan.  



YP Yuvaraj Palanisamy Syncfusion Team March 18, 2021 01:55 AM UTC

Hi Kyle, 
 
Thanks for your patience. 
 
We can achieve your requirement “” with the help of ChartAxis Breaks support in Windows Forms chart control. Please find the below code example for your reference. 
 
chartControl1.PrimaryXAxis.ValueType = Syncfusion.Windows.Forms.Chart.ChartValueType.DateTime; 
chartControl1.PrimaryXAxis.RangePaddingType = ChartAxisRangePaddingType.None; 
            
DateTime dateTime = new DateTime(2021, 1, 1); 
 
chartControl1.PrimaryXAxis.RangeType = ChartAxisRangeType.Set; 
chartControl1.PrimaryXAxis.Range = new MinMaxInfo(dateTime.AddDays(-1).ToOADate(), dateTime.AddDays(7).ToOADate(), 1); 
 
chartControl1.PrimaryXAxis.MakeBreaks = true; 
chartControl1.PrimaryXAxis.BreakInfo.LineType = ChartBreakLineType.Straight; 
chartControl1.PrimaryXAxis.BreakInfo.LineSpacing = 15; 
chartControl1.PrimaryXAxis.BreakInfo.SpacingColor = Color.Orange; 
chartControl1.PrimaryXAxis.BreakRanges.BreaksMode = ChartBreaksMode.Manual; 
chartControl1.PrimaryXAxis.BreakRanges.Union(new DoubleRange(dateTime.AddDays(1).ToOADate(), dateTime.AddDays(3).ToOADate())); 
chartControl1.PrimaryXAxis.DateTimeFormat = "MMM dd"; 
 
ChartSeries series = new ChartSeries("series", ChartSeriesType.Line); 
 
series.Points.Add(dateTime , 10); 
// series.Points.Add(dateTime.AddDays(1), 4);  // Weekend data 
// series.Points.Add(dateTime.AddDays(2), 3);  // Weekend data 
series.Points.Add(dateTime.AddDays(3), 9); 
series.Points.Add(dateTime.AddDays(4), 6); 
series.Points.Add(dateTime.AddDays(5), 7); 
series.Points.Add(dateTime.AddDays(6), 6); 
 
this.chartControl1.Series.Add(series); 
 
chartControl1.ShowLegend = false; 
 
Output: 
 
 
Regards, 
Yuvaraj. 


Marked as answer

AY AYubu June 29, 2023 06:31 PM UTC

What is solution to the issue but with WPF?



SK Surya Karan Raja Syncfusion Team replied to AYubu June 30, 2023 11:36 AM UTC

Hi AYubu,

We analyzed your query and the support for hide the weekend data in the Chart and removing the gap in that weekend data is achieved by below code snippet,

<syncfusion:SfChart.PrimaryAxis>

<syncfusion:DateTimeAxis EnableBusinessHours="True"

                                                OpenTime="9"

                                                CloseTime="24"

                                                WorkingDays="Friday,Saturday,Sunday,Monday,Tuesday,Wednesday,Sunday">

</syncfusion:DateTimeAxis>

</syncfusion:SfChart.PrimaryAxis>


I also attached the User Guide Link for your reference: https://help.syncfusion.com/wpf/charts/axis?cs-save-lang=1&cs-lang=xaml

I hope this will be useful for You.

Please let us know if you need further assistance.



Best Regards,

Surya Karan Raja


Loader.
Up arrow icon