Solved

Easy way to draw a simple graph

Posted on 2004-07-30
17
243 Views
Last Modified: 2010-03-31
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
Comment
Question by:Dawkins
  • 7
  • 4
  • 3
  • +1
17 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 11677050
You'd be better off using proper graphing components:

www.jfreechart.org
0
 
LVL 86

Assisted Solution

by:CEHJ
CEHJ earned 50 total points
ID: 11677057
0
 
LVL 12

Expert Comment

by:Giant2
ID: 11677069
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
 

Author Comment

by:Dawkins
ID: 11678043
ok thanks I'll take a look at free chart and get back to you
0
 
LVL 92

Expert Comment

by:objects
ID: 11681754
If you only need a basic graph then drawing it yourself is no big task.
how would you like to graph the data?
0
 

Author Comment

by:Dawkins
ID: 11704337
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
 
LVL 12

Expert Comment

by:Giant2
ID: 11705928
See what I posted before.
0
 
LVL 12

Expert Comment

by:Giant2
ID: 11705941
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 92

Expert Comment

by:objects
ID: 11710646
> 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
 
LVL 12

Expert Comment

by:Giant2
ID: 11712586
>for (int i=1; i<points.length; i++)
...
>}

in a paint method.
0
 
LVL 92

Assisted Solution

by:objects
objects earned 100 total points
ID: 11712596
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
 
LVL 12

Expert Comment

by:Giant2
ID: 11712614
all is explained into the tutorial I posted before.
0
 

Author Comment

by:Dawkins
ID: 11728299
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
 
LVL 12

Accepted Solution

by:
Giant2 earned 100 total points
ID: 11733125
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
 
LVL 86

Expert Comment

by:CEHJ
ID: 11896941
:-)
0
 
LVL 92

Expert Comment

by:objects
ID: 11898150
Thanks for the points, let us know if you have further questions.
0
 
LVL 12

Expert Comment

by:Giant2
ID: 11899876
Happy to help you.
:)
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.

864 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now