This is a migrated thread and some comments may be shown as answers.

Lots of points?

29 Answers 373 Views
Chart
This is a migrated thread and some comments may be shown as answers.
donig
Top achievements
Rank 1
donig asked on 14 Oct 2008, 08:26 PM
It looks like your demos all have a handful of points...do you support x-y graphs with thousands of points, like scientific data?

29 Answers, 1 is accepted

Sort by
0
Vladimir Milev
Telerik team
answered on 17 Oct 2008, 08:26 AM
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.
0
donig
Top achievements
Rank 1
answered on 17 Oct 2008, 01:54 PM
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.
0
David Huxtable
Top achievements
Rank 1
answered on 23 Mar 2009, 03:43 AM
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.
0
Vladimir Milev
Telerik team
answered on 23 Mar 2009, 02:28 PM
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
0
David Huxtable
Top achievements
Rank 1
answered on 24 Mar 2009, 12:50 AM
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.
0
Vladimir Milev
Telerik team
answered on 26 Mar 2009, 10:29 AM
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
0
SteveL
Top achievements
Rank 2
answered on 09 Aug 2009, 07:08 PM
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
0
First Last
Top achievements
Rank 1
answered on 13 Aug 2009, 10:17 PM
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?

 
0
Giuseppe
Telerik team
answered on 14 Aug 2009, 12:11 PM
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.
0
SteveL
Top achievements
Rank 2
answered on 14 Aug 2009, 12:40 PM
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.
0
Julian
Top achievements
Rank 1
answered on 24 Aug 2009, 02:13 PM
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.
0
Giuseppe
Telerik team
answered on 27 Aug 2009, 12:16 PM
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.
0
Bryce
Top achievements
Rank 1
answered on 20 Jan 2010, 08:41 PM
Is there currently a planned release/beta with scatter charts?
0
donig
Top achievements
Rank 1
answered on 20 Jan 2010, 09:41 PM
Clearly, Q1 2009 came and went long ago without scatter plots.

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

Doni
0
Giuseppe
Telerik team
answered on 22 Jan 2010, 12:34 PM
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.
0
Brian Allen
Top achievements
Rank 1
answered on 28 Jan 2010, 10:42 PM
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.
0
donig
Top achievements
Rank 1
answered on 29 Jan 2010, 02:31 PM
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
0
Giuseppe
Telerik team
answered on 02 Feb 2010, 11:10 AM
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.
0
Giuseppe
Telerik team
answered on 05 Feb 2010, 03:26 PM
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.
0
donig
Top achievements
Rank 1
answered on 05 Feb 2010, 08:55 PM
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
0
Giuseppe
Telerik team
answered on 08 Feb 2010, 11:36 AM
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.
0
Lauren
Top achievements
Rank 1
answered on 22 Jul 2010, 11:25 PM
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.
  
0
Giuseppe
Telerik team
answered on 28 Jul 2010, 06:05 PM
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
0
Lauren
Top achievements
Rank 1
answered on 28 Jul 2010, 06:14 PM
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
 
0
Giuseppe
Telerik team
answered on 02 Aug 2010, 05:26 PM
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
0
Anand
Top achievements
Rank 1
answered on 27 Jan 2012, 03:14 PM
Giuseppe

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

Thanks

Anand
0
Bartholomeo Rocca
Top achievements
Rank 1
answered on 01 Feb 2012, 10:19 AM
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.
0
Reeta
Top achievements
Rank 1
answered on 26 Apr 2012, 10:10 PM
Hello Freedie,
We are also struggling with the same issue of having around 10,000 data points. Just checking if there are any new developments on this issue?

Thanks,
Reeta
0
Giuseppe
Telerik team
answered on 27 Apr 2012, 02:21 PM
Hello Reeta,

We have not applied any modifications related to performance in the RadChart codebase but you can check our new charting offering RadChartView that addresses many shortcomings and limitations of RadChart (especially performance-wise). You can find more information on RadChart vs RadChartView here and online examples of the new control here.


Regards,
Giuseppe
the Telerik team

Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

Tags
Chart
Asked by
donig
Top achievements
Rank 1
Answers by
Vladimir Milev
Telerik team
donig
Top achievements
Rank 1
David Huxtable
Top achievements
Rank 1
SteveL
Top achievements
Rank 2
First Last
Top achievements
Rank 1
Giuseppe
Telerik team
Julian
Top achievements
Rank 1
Bryce
Top achievements
Rank 1
Brian Allen
Top achievements
Rank 1
Lauren
Top achievements
Rank 1
Anand
Top achievements
Rank 1
Bartholomeo Rocca
Top achievements
Rank 1
Reeta
Top achievements
Rank 1
Share this question
or