Solved

Easy way to draw a simple graph

Posted on 2004-07-30
17
276 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

 

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
 
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

Want Experts Exchange at your fingertips?

With Experts Exchange’s latest app release, you can now experience our most recent features, updates, and the same community interface while on-the-go. Download our latest app release at the Android or Apple stores today!

Question has a verified solution.

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

Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
Suggested Courses

617 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