Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 281
  • Last Modified:

Easy way to draw a simple graph

I have written a program which calculates population sizes over a number of generations.

I would now like to display them in a graph - either in "real time", updating each generation as it is calculated, or if that is too tricky just a single graph once the program finishes is fine.  

I have a basic idea of how to get swing components working, but can't find any information about graphs.  Could anyone help me get this up and running?
0
Dawkins
Asked:
Dawkins
  • 7
  • 4
  • 3
  • +1
3 Solutions
 
CEHJCommented:
You'd be better off using proper graphing components:

www.jfreechart.org
0
 
CEHJCommented:
0
 
Giant2Commented:
There are several automatic system to generate graph (withou using even Java), but if you want to create a graph in java you must use the Swing API.
See
http://java.sun.com/docs/books/tutorial/uiswing/
and
http://java.sun.com/products/jfc/

Bye, Giant.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
DawkinsAuthor Commented:
ok thanks I'll take a look at free chart and get back to you
0
 
objectsCommented:
If you only need a basic graph then drawing it yourself is no big task.
how would you like to graph the data?
0
 
DawkinsAuthor Commented:
ok I've downloaded freechart and it looks good but seems like it will take quite a bit of time getting it to work.

All I need is to display a simple 2D line graph with up to 10 different coloured lines.  Would it be simpler to use swing?
0
 
Giant2Commented:
See what I posted before.
0
 
Giant2Commented:
0
 
objectsCommented:
> Would it be simpler to use swing?

most probably.

It probably wouldn't involve a lot more than just:

for (int i=1; i<points.length; i++)
{
   g.drawLine(points[i-1].x, points[i-1].y, points[i].x, points[i].y);
}
0
 
Giant2Commented:
>for (int i=1; i<points.length; i++)
...
>}

in a paint method.
0
 
objectsCommented:
yes that would be in say your paintComponent() method in a panel subclass

public class PlotPanel extends JPanel
{
   public void paintComponent(Graphics g)
   {
       // paint your graph in here
   }
}
0
 
Giant2Commented:
all is explained into the tutorial I posted before.
0
 
DawkinsAuthor Commented:
I've actually found a very simple set of classes for drawing graphs, which I'm going to use as an example:   http://www.jscieng.co.uk/downloads.html
0
 
Giant2Commented:
Java for Scientists and Engineers.
I believe it's based on swing, awt...
I suggest you to learn now how to use swing (even for the future).
But, it's your choice. So, good luck!

Bye, Giant.
0
 
CEHJCommented:
:-)
0
 
objectsCommented:
Thanks for the points, let us know if you have further questions.
0
 
Giant2Commented:
Happy to help you.
:)
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 7
  • 4
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now