Community & Support
Skip Navigation LinksHome / Community & Support / Developer Productivity Tools Forums / WPF > Chart > Lots of points?

Not answered Lots of points?

Feed from this thread
  • Posted on Oct 14, 2008 (permalink)

    It looks like your demos all have a handful of points...do you support x-y graphs with thousands of points, like scientific data?

    Reply

  • Vladimir Milev Vladimir Milev admin's avatar

    Posted on Oct 17, 2008 (permalink)

    Hello donig,

    Do you mean scatter charts? Currently we do not have scatter type series in RadChart. We will probably ship those with Q1 2009.

    About performance - we are using native WPF shapes to draw our series and performance will be limited to what WPF allows.

    All the best,
    Vladimir Milev
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.

    Reply

  • Q1 Webinar Week
  • Posted on Oct 17, 2008 (permalink)

    Yes, a scatter plot (X and Y values with or without lines).

    I plot scientific data - sometimes we have tens of thousands of points on a single graph. We are looking at trends, or trying to spot clusters, in the data.

    A lot of graph packages aim to make nice "business" pie or bar charts out of a dozen points, and don't work at all well when there are lots of points.

    I look forward to your Q1 2009 release to see if it works for my kind of data.

    Reply

  • David avatar

    Posted on Mar 22, 2009 (permalink)

    Hi Vladimir,

    I was wondering if the Telerik plans to release scatter charts in the Q2 2009 release?

    Until the release of the scatter graph control, is it possible to use a bubble graph, setting the bubbles to a static size to make the outcome look just like a scatter graph for according to the users?

    Correct me if I'm wrong, I noticed a point graph tag for the ASP.NET charting, is this, in effect, a scatter graph?

    Thank you for your time, I look forward to hearing from you.

    David.

    Reply

  • Vladimir Milev Vladimir Milev admin's avatar

    Posted on Mar 23, 2009 (permalink)

    Hi David,

    Scatter chart is planned for Q2 indeed. It is a highly requested type and we included it in our immediate plans for the next Q. You may use bubbles to replace the scatter to some extent it depends on your requirements if it will be enough to do the job. If you have more specific queries don't hesitate to ask.

    Sincerely yours,
    Vladimir Milev

    Reply

  • David avatar

    Posted on Mar 23, 2009 (permalink)

    Good Morning Vladimir,

    I appreciate your prompt reply.

    Do you have an idea of when Q2 will be released?

    I tried using a Bubble chart and I'm a little confused as to how the sizing of the bubbles works. I thought I'd set the bubble size to a small number, such as 2.5, although in order for the bubbles to appear small in the chart, one bubble needed to be set to a large number, I had set it to 100. Is there something I need to take into account and alter for all the bubbles to be small, such as zooming? Do you mind emailing me just a small example setting a few bubbles to the same small size? It would be greatly appreciated.

    Thankyou again Vladimir,

    Your help is much appreciated.

    David.

    Reply

  • Vladimir Milev Vladimir Milev admin's avatar

    Posted on Mar 26, 2009 (permalink)

    Hi David,

    Please refer to the instructions Manuel provided about the Bubble series. They provide the answers to how bubble sizing works.

    Best wishes,
    Vladimir Milev

    Reply

  • Posted on Aug 9, 2009 (permalink)

    I just went to add a scatter chart to my application, but couldn't find it. Did it not make it into the Q2 release?

    Steve

    Reply

  • First Last avatar

    Posted on Aug 13, 2009 (permalink)

    Hi,

    I'm also using a chart (line chart) that may have thousands of data points.

    1. Other chart controls (visifire - visifire.com) for example will add scrollbars and scroll the data. Is this possible with your chart control? It seems like the data points are all attempted to be squeezed into the same chart area, and after a few tens of data points the chart is useless. Ideally the chart shows a few points and the rest are able to be viewed when scrolled.

    2. We need to update the data in real time (every second) and each update causes the data series to disappear and then be redrawn. It would be nice if instead there was no "flash" and instead a line was simply drawn to the new data point (just like the CPU Usage History in the Performance tab of Windows Task Manager). Is this possible with your control?

     

    Reply

  • Giuseppe Giuseppe admin's avatar

    Posted on Aug 14, 2009 (permalink)

    Hi there,

    @ Steve -- unfortunately we had to postpone the development of the Scatter series type for Q3 2009 in order to address some urgent matters within the control. That said, we will forward your inquiry to our developers and we will make sure this new type is implemented for the next official release later this year. 

    @ First -- onto your questions:

    • The current version of the chart control does not implement scrolling functionality. This feature is in our TODO list but it will not make it for the Q3 2009 release (most probably we will target Q1 2010 for its implementation).
    • Unfortunately this cannot be achieved with the control either -- we will forward your feedback to our developers so they can consider improving the control behavior in live data scenarios like yours.


    Kind regards,
    Manuel
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Check out the tips for optimizing your support resource searches.

    Reply

  • Posted on Aug 14, 2009 (permalink)

    Oh no - I hadn't noticed that 'flash'. My application also updates its charts in real time. That's awful. The Silverlight chart doesn't do it.

    Reply

  • Julian avatar

    Posted on Aug 24, 2009 (permalink)

    I have the latest version of WPF controls and on a very high performance PC (i7 920, ATI 3850 PCI Express, 6GB DDR3, SATA RAID 0) I'm struggling to do more than 240 points. (I have disabled most of the bells and whistles too like point marks, animations, etc.). So if you're looking for thousands of points, I would recommend not to use these controls unless you are willing to show a loading page for a very long time.

    Reply

  • Giuseppe Giuseppe admin's avatar

    Posted on Aug 27, 2009 (permalink)

    Hi Julian,

    We are sorry that you are having unpleasant experience with the chart control.

    Could you open a formal support ticket and send us a sample application that demonstrates the problematic issue in your specific scenario so we can investigate it locally and improve the behavior for the next version of the control?


    Best wishes,
    Manuel
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.

    Reply

  • Bryce avatar

    Posted on Jan 20, 2010 (permalink)

    Is there currently a planned release/beta with scatter charts?

    Reply

  • Posted on Jan 20, 2010 (permalink)

    Clearly, Q1 2009 came and went long ago without scatter plots.

    Is this going to be implemented, or not? When?

    Doni

    Reply

  • Giuseppe Giuseppe admin's avatar

    Posted on Jan 22, 2010 (permalink)

    Hi Doni and all,

    First I would like to apologize on behalf of the Charting team for failing to deliver on our commitment for Scatter series type multiple times so far. I have reviewed the communication in this thread and I must say it is indeed really embarrassing and unfortunate that the situation had come to this end -- the truth is I cannot find a reasonable explanation as indeed our task priorities are quite dynamic and shift often but that should not be at the expense of failing your expectations.

    I have just discussed this with the devteam and stressed on the importance of implementing this promised feature (albeit late as it is). I will make sure that progress on this task is made in a matter of weeks and I will personally follow-up here as soon as the feature is ready.

    Sorry for the inconvenience.


    Regards,
    Manol Donev
    Product Manager
    Telerik Corp.

    Instantly find answers to your questions on the new Telerik Support Portal.
    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.

    Reply

  • Brian Allen avatar

    Posted on Jan 28, 2010 (permalink)

    Hello, All.

    We are using RadChart version 2009.3.1019.35.

    The chart is declared in XAML and databound to an ObservableCollection of DataPoints.  The collection contains 9000 data points, which makes the chart take 1 minute to display.

    How can we improve the performance of the chart to accomodate a large number of data points?

    Best regards,
    Brian

    Note: we have already set ChartArea EnableAnimations to false.

    Reply

  • Posted on Jan 29, 2010 (permalink)

    Telerik needs to include some performance test cases that plot 10,000+ points for line and scatter charts. Although it is expected that 10,000 points take longer than 10 points, it shouldn't take 1000 times longer!

    Doni Grande

    Reply

  • Giuseppe Giuseppe admin's avatar

    Posted on Feb 2, 2010 (permalink)

    Hello Brian, Doni

    Thank you for your feedback. Here is a list of some simple changes that can improve the performance in large data scenarios at the moment:

    • Use fewer data points -- typical performance guidance for Silverlight and WPF recommends capping the total number of UI elements in the low- to mid-hundreds. Given that each of the chart item instances instantiates around 3-5 UI elements, trying to render a chart with 1000 data points can start to bog the system down quite fast. Note that the Q1 2010 edition of RadChart will be able to handle hundred of thousands of data points thanks to its new Virtual Scrolling and Data Sampling mechanisms that are currently being developed.
    • Disable animations -- you have already done that.
    • Simplify the chart item control template -- e.g. the Line item template contains by default item label as well as point mark visual that can be removed (as they are relatively insignificant when rendering thousands of records); with lots of points the sheer number of UI elements simply bogs the system down as discussed above so if you cannot reduce the data points, you will need to simplify the chart item control template (note that simply changing their Visibility will not do the trick, they should be physically removed from the template).
    • Specify fixed axis range manually -- if your data changes a lot but you know the ranges over which it will vary, you can disable the Axis auto-range algorithm and specify the Axis range manually -- this will probably lower the processing time a bit.
    • Add the points more efficiently (ObservableCollection scenario) -- the control is built around a model where any changes to the data are automatically shown on the screen. This is accomplished by detecting classes that implement the INotifyPropertyChanged interface and collections that implement the INotifyCollectionChanged interface and registering to find out about changes as they occur. However, this system can be counterproductive in one scenario: starting with an empty collection and adding a bunch of data points all at once. By default, each new data point generates a change notification which prompts RadChart to re-analyze the data, re-compute the axis properties, re-layout the visuals, etc. It would be more efficient to add all the points at once and then send a single notification to the control that its data has changed. Unfortunately, the otherwise handy ObservableCollection class doesn't offer a good way of doing this but it is pretty easy to add:
    public class AddRangeObservableCollection<T> : ObservableCollection<T>
    {
        private bool suppressOnCollectionChanged;
     
        public void AddRange(IEnumerable<T> items)
        {
            if (items == null)
            {
                throw new ArgumentNullException("items");
            }
            if (items.Any())
            {
                try
                {
                    this.suppressOnCollectionChanged = true;
                    foreach (var item in items)
                    {
                        this.Add(item);
                    }
                }
                finally
                {
                    this.suppressOnCollectionChanged = false;
                    this.OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
                }
            }
        }
     
        protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
        {
            if (!this.suppressOnCollectionChanged)
            {
                base.OnCollectionChanged(e);
            }
        }
    }

    Hope this helps.


    Regards,
    Manuel
    the Telerik team

    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
    Follow the status of features or bugs in PITS and vote for them to affect their priority.

    Reply

  • Giuseppe Giuseppe admin's avatar

    Posted on Feb 5, 2010 (permalink)

    Hello Doni and all,

    This is just a follow up to confirm that Scatter 2D series type will be available for preview as part of the BETA release in mid-February and will be officially announced as part of the Q1 2010 release (around March).


    Regards,
    Manol Donev
    Product Manager
    Telerik Corp.

    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
    Follow the status of features or bugs in PITS and vote for them to affect their priority.

    Reply

  • Posted on Feb 5, 2010 (permalink)

    That is great news!

    Also, to clarify functionality, for multiple sets of x,y data, each set can have different x values. That may sound obvious, but I've used some libraries that assume you have one set of x-data and multiple sets of y-data for that (same) x-data. That is actually not useful in the real world.

    Doni

    Reply

  • Giuseppe Giuseppe admin's avatar

    Posted on Feb 8, 2010 (permalink)

    Hi Doni,

    Yes, XValues will be series-specific as for all other series types supported by RadChart.


    Kind regards,
    Mark
    the Telerik team

    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
    Follow the status of features or bugs in PITS and vote for them to affect their priority.

    Reply

  • Lauren avatar

    Posted on Jul 22, 2010 (permalink)

    Hi Manuel,

    You mentioned "Simplify the chart item control template" to remove item labels and point mark visual from template.
    Could you please help me achieve this ? i dont quite know where to start, or actually how to do this.

    Sorry, but i kind of need this urgently...
    Thank you very much !

    I just realized i'm on the WPF forum, but i'm looking for a Silverlight 4 solution... I'll post it again on Silverlight forum.
      

    Reply

  • Giuseppe Giuseppe admin's avatar

    Posted on Jul 28, 2010 (permalink)

    Hello Lauren,

    Actually, the more recent versions of the control do not require template customization in the described scenario. If you set LineSeriesDefinition.ShowItemLabels, LineSeriesDefinition.ShowPointMarks, and LineSeriesDefinition.ShowItemToolTips to false, the series will be rendered automatically in "fast" mode i.e. no items generation will occur therefore no item template will be processed at all.

    Hope this helps.


    Regards,
    Freddie
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items

    Reply

  • Lauren avatar

    Posted on Jul 28, 2010 (permalink)

    Hi Freddie,

    Thank you, that's good news.

    However, i have a chart control and i'm using the scrolling&zooming feature. But when scrolling or zooming, it takes some time to refresh the chart. So how else can i improve the speed on scrolling and zooming ?
    Let say i have 4 lines series , all 4 displayed with a sampling threshold of 200 points. I noticed that if i set a smaller sampling threshold, then it gets faster. But we loosing some resolution. What else can i do ?

    Thanks for your help.
    Lauren
     

    Reply

  • Giuseppe Giuseppe admin's avatar

    Posted on Aug 2, 2010 (permalink)

    Hi Lauren,

    The rest of the performance tips and tricks listed previously in this thread and here as well still do apply:

    • Use fewer data points
    • Disable animations
    • Specify fixed axis range manually
    • Add the points more efficiently (ObservableCollection scenario)

    Have you tried them as well?


    Best wishes,
    Freddie
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items

    Reply

  • Anand avatar

    Posted on Jan 27, 2012 (permalink)

    Giuseppe

    Can you provide sample where "points more efficiently" while zoom and scrolling ?

    Thanks

    Anand

    Reply

  • Bartholomeo Rocca Master avatar

    Posted on Feb 1, 2012 (permalink)

    Hello Anand,

    I believe Giuseppe is referring to the AddRangeObservableCollection<T> implementation that is included in the "Performance Tips and Tricks" topic http://www.telerik.com/help/silverlight/radchart-performance-tips-and-tricks.html.


    Greetings,
    Bart.

    Reply

  • Q1 Webinar Week

Back to Top

Skip Navigation LinksHome / Community & Support / Developer Productivity Tools Forums / WPF > Chart > Lots of points?
Related resources for "Lots of points?"

WPF Chart Features  |  Documentation  |  Demos  |  Telerik TV  |  Self-Paced Trainer  ]