Java Graphics2D coordinate problem

Hi,

I am using Graphics2D to draw graphics for my data for my clustering algorithm result on a JPanel. I understand that Graphics2D start with (0,0) at the top left hand corner to do the painting. However, some of my data on the y axisis -ve value
e.g. (222, -0.002334)

so as it start from (0,0) positve value, it can never paint my data with negative y value.

I try the translate and scale method in grpahics2D, and both can only move the whole thing to other position but actually cannot solve the problem of displaying the negative value.

So my results cant be fully output to the screen.
Is there anyway I can move the (0,0) to the centre and with the ability to output the -ve value?
Does anyone have any ideas on this?

Many thanks

Z

zzenithAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

wide_awakeCommented:
The coordinate plane is fixed, but you can translate everything to the center of the panel yourself.

For example, if you have a method like

drawDataPoint(double xValue, double yValue)
{
  // draw a point at (xValue, yValue)
}

You could change the method to do this:


drawDataPoint(double xValue, double yValue)
{
  // draw a point at ((xValue + getWidth() / 2.0), (yValue + getHeight() / 2.0))
}

That would effectively move your zero-coordinate to the center of the panel.  Of course, you would have to do this for each method that draws things on the panel.  But once you had these methods, you would call drawDataPoint using the original values.

-Mark.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
CleanupPingCommented:
zzenith:
This old question needs to be finalized -- accept an answer, split points, or get a refund.  For information on your options, please click here-> http:/help/closing.jsp#1 
EXPERTS:
Post your closing recommendations!  No comment means you don't care.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.