comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: plot range in Object Graphics
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: plot range in Object Graphics [message #20008 is a reply to message #20006] Fri, 12 May 2000 00:00 Go to previous messageGo to previous message
Brad Gom is currently offline  Brad Gom
Messages: 49
Registered: August 1997
Member
David Fanning wrote:

> I really think this is a simple problem of not scaling
> either the data or the axes properly.
> ...
> You have to go get the *actual* values of your axes and
> scale the data to those, or you will get exactly the problems
> you describe.

While I agree that scaling the axes and plot correctly is a pain, and that not scaling
properly can produce this result, in this case it looks to me like it is a problem with
version 5.0. The code below, when used in IDL5.0 exhibits the problem, whereas in
IDL5.3 it looks fine.

************
thisPlot = Obj_New("IDLgrPLOT", findgen(10), sin(findgen(10)),xrange=[0,8.5],
Color=[255,255,255])
thisPlot->GetProperty, XRange=xrange, YRange=yrange

xAxis1 = Obj_New("IDLgrAxis", 0, Color=[255,255,255],Range=xrange, Location=[10, 0
,0], $
/Exact, name='xaxis1')
yAxis1 = Obj_New("IDLgrAxis", 1, Color=[255,255,255],Range=yrange, Location=[0,10,0],
$
/Exact, name='yaxis1')
yAxis2 = Obj_New("IDLgrAxis", 1, Color=[255,255,255],Range=yrange, Location=[1,10,0],
$
/Exact, ame='yaxis2')

xAxis1->GetProperty, CRange=xrange
yAxis1->GetProperty, CRange=yrange

xs = Normalize(xrange)
ys = Normalize(yrange)

thisPlot->SetProperty, XCoord_Conv=xs, YCoord_Conv=ys
xAxis1->SetProperty, XCoord_Conv=xs
yAxis1->SetProperty, YCoord_Conv=ys
yAxis2->SetProperty, YCoord_Conv=ys

thisModel = Obj_New('IDLgrModel')
thisModel->Add, xAxis1
thisModel->Add, yAxis1
thisModel->Add, yAxis2
thisModel->Add, thisPlot

thisView = Obj_New('IDLgrView', Viewplane_Rect=[-.2, -.2, 1.3, 1.3], Location=[0,0],
Color=[0,0,0])
thisView->Add, thisModel
thisWindow->Draw, thisView

xAxis1->GetProperty, CRange=xrange
yAxis1->GetProperty, CRange=yrange
anotherPlot = Obj_New("IDLgrPLOT", findgen(20)-5.2, sin(findgen(20)),xrange=xrange, $
yrange=yrange, Color=[255,0,0], XCoord_Conv=xs, YCoord_Conv=ys)
thisModel->Add, anotherPlot
thisWindow->Draw, thisView
*************


> P.S. Please don't implement the Polygon idea.

Don't worry. That's why I spend so much time reading this newsgroup.


> It's just to grim to imagine and is in the worst tradition of just getting
> the damn thing to work. :-(

Unfortunately, as a physicist who needs to do my own -quick- visualizations while
learning IDL at the same time, I have sometimes had to write code that would make a
true software engineer shriek in horror in order to meet a deadline. This is, I think,
sometimes a necessary evil. A sin, on the other hand, would be never bothering to learn
the proper technique, or worse yet, writing improper code that will fall into the hands
of other people.

Have you ever used duct-tape to patch a radiator hose so that you can get to work?


Brad
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: Max memory on IRIX?
Next Topic: help on IDL

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sun Oct 12 13:43:29 PDT 2025

Total time taken to generate the page: 1.11974 seconds