Best graphing package for java?

N

Nicros

We are currently using JFreeChart to do some drawing of graphs and are
finding it to be extremely slow with large datasets. For example, we
need to draw and redraw 16000 x,y datapoints allowing zoom, scrolling,
the usual stuff.

We used to do this in C++ using PEGraph and it is super fast, with no
discernable redraw time but JFreeCharts is quite slow (up to 1 second,
which for our users is a lot).

Are there better java packages available for this kind of thing? Can
anyone point me to them? It does not need to be free, we will pay for
the best one.

Thanks!
 
S

Stefan Ram

Nicros said:
We used to do this in C++ using PEGraph and it is super fast,
with no discernable redraw time but JFreeCharts is quite slow
(up to 1 second, which for our users is a lot).

Runtime might be determined by branch prediction and
memory locality of code and data.

If 16000 pairs of numbers are stored in an array,
the array might be hold in the cache memory.

If 16000 points are point objects refered to by a Java
container, they might be spread accross the heap memory.

Custom code offers more points for tweaks than a
third-party library.
 
S

softwarepearls_com

If you browse the official JFreeChart forums, you'll come across a
long and detailed post about how to tweak key classes to cope better
with large datasets.
 
A

Arne Vajhøj

Nicros said:
We are currently using JFreeChart to do some drawing of graphs and are
finding it to be extremely slow with large datasets. For example, we
need to draw and redraw 16000 x,y datapoints allowing zoom, scrolling,
the usual stuff.

We used to do this in C++ using PEGraph and it is super fast, with no
discernable redraw time but JFreeCharts is quite slow (up to 1 second,
which for our users is a lot).

Are there better java packages available for this kind of thing? Can
anyone point me to them? It does not need to be free, we will pay for
the best one.

JFreeChart is pretty good in functionality.

I doubt that it is even written with the intention of being
super fast.

But maybe you can get it to run faster. First step would be
to analyze where it is slow.

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,773
Messages
2,569,594
Members
45,125
Latest member
VinayKumar Nevatia_
Top