Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

C# - How to export or save the Chart Control series to array?

Posted on 2013-06-02
3
Medium Priority
?
1,276 Views
Last Modified: 2013-06-30
Hello everyone.
Thank you in advance for your time and attention.
My development environment: i7, W7Ult, VS2010Ult, WinForm, C# and Chart Control.
Target: Windows XP, VISTA, 7 and 8.

How to export or save the chart control series to an array? Need including the X axis labels or way to retrieve them in the future.
We have a chart with 3 series Spline, fed by the minute. By default we show the last 10 days in X axis.
#region AddNewDataPoint
    int tmStamp=14400; // 10 Days in minutes
    public void AddNewPoint()
        {
        var cX=this.chart1.ChartAreas[0];
        DateTime timeStamp=DateTime.Now;
        // Add new data point to its series.
        chart1.Series["01"].Points.AddXY(timeStamp.ToOADate(),Convert.ToDouble(i_01));
        chart1.Series["02"].Points.AddXY(timeStamp.ToOADate(),Convert.ToDouble(i_02));
        chart1.Series["03"].Points.AddXY(timeStamp.ToOADate(),Convert.ToDouble(i_03));
        // remove all points from the source series older than 1 minute.
        double removeBefore=timeStamp.AddMinutes((double)(tmStamp)*(-1)).ToOADate();
        //remove oldest values to maintain a constant number of data points
        while(chart1.Series[0].Points[0].XValue<removeBefore)
        { chart1.Series[0].Points.RemoveAt(0); }
        cX.AxisX.Minimum=chart1.Series[0].Points[0].XValue;
        cX.AxisX.Maximum=DateTime.FromOADate(chart1.Series[0].Points[0].XValue).AddMinutes(tmStamp).ToOADate();
        chart1.Invalidate();
        }
    #endregion // AddNewDataPoint

Open in new window

We create the chart with the code below.
#region Setting the Chart
    private void SetChart()
        {
        var v_Interval=86400D; // 1 Day interval in seconds.
        cX.AxisX.ScaleView.MinSize=1;
        cX.AxisX.ScaleView.MinSizeType=DateTimeIntervalType.Days;
        cX.CursorX.Interval=0;
        cX.AxisX.LabelStyle.Format="HH:mm:ss\nyyyy-MM-dd";
        cX.AxisX.LabelStyle.Interval=v_Interval;
        cX.AxisX.LabelStyle.IntervalType=System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Seconds;
        cX.AxisX.MajorGrid.Interval=v_Interval;
        cX.AxisX.MajorGrid.IntervalType=System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Seconds;
        cX.AxisX.MajorTickMark.Interval=v_Interval;
        cX.AxisX.MajorTickMark.IntervalType=System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Seconds;
        cX.AxisY.IsLabelAutoFit=false;
        cX.AxisY.IsStartedFromZero=false;
        } // Setting the Chart
    #endregion

Open in new window

0
Comment
Question by:ocaccy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 52

Accepted Solution

by:
Rgonzo1971 earned 1500 total points
ID: 39218258
Hi,

Could the CopyTo method from the DataPointCollection Class be a solution?

Regards
0
 

Author Comment

by:ocaccy
ID: 39218443
Hi. How; have a sample ?
Regards
0
 

Author Closing Comment

by:ocaccy
ID: 39289077
Solved this way: When we launched a value in Serie Point, also launched in an Array that is saved from time to time.

Best regards,
ocaccy
0

Featured Post

The top UI technologies you need to be aware of

An important part of the job as a front-end developer is to stay up to date and in contact with new tools, trends and workflows. That’s why you cannot miss this upcoming webinar to explore the latest trends in UI technologies!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

721 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question