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

Home » Public Forums » archive » multiple 2d_plots in one system (itools)
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: multiple 2d_plots in one system (itools) [message #36408 is a reply to message #36319] Thu, 11 September 2003 02:36 Go to previous messageGo to previous message
Olaf Stetzer is currently offline  Olaf Stetzer
Messages: 39
Registered: September 2001
Member
Chris Torrence schrieb:
> Hi Olaf,
>
> I think there are three different issues here.
>
> 1. For logarithmic axes, the min and max for the axis range *must* be
> greater than 0, otherwise the X/Y/Z_LOG keywords have no effect and that
> property is grayed out in the property sheet (I think this was Dave's
> problem).

Yes, that is what the manual says. I tried to switch to the logarithms
of the min/max values (-> -1.4,1.2) because I got the impression, that
x_range is interpreted that way when X_LOG is set (max value of 10^16
instead of 16). Maybe this is just the same bug you mentioned in 2.

> 2. I think you've discovered a bug. It seems like x/y/z_log is not happy if
> you do an overplot on top of a logarithmic plot. For some reason it sets the
> axis range to 10^16, which is what you observed. We will fix this. As a
> workaround, you can do all of your plots first, and then only set x_log on
> the *last* overplot.

Thanks, I will try this.

> xmin=min(Dp)
> xmax=max(Dp)
> ymax=max(Dn)
>
> IPLOT, Dp[*,0], dN[*,0]/duration[0], $
> XRANGE=[xmin,xmax], $
> YRANGE=[0,ymax]
> for i=1,max_nr-1 do begin
> ; Note: OVERPLOT is either "on" or "off", not an integer

The online help says that it has to be set to the ToolID of
the iTool I want to use. But now I see, that this only applies
if more than one iTool exists.

> ; To work around bug, only set X_LOG on the last overplot.
> iplot, Dp[*,i], dN[*,i]/duration[i], /OVERPLOT, $
> X_LOG=(i eq max_nr-1)
> endfor
>
> This seems to work fine.
>
> 3. You can do three-dimensional plots using "iplot".
> For example:
>
> ; Try a three-dimensional plot. Use fake Z data.
> ; You could also rearrange the X/Y/Z args.
> iplot, Dp[*,0], dN[*,0]/duration[0], FLTARR(n), $
> XRANGE=[xmin,xmax], $
> YRANGE=[0,ymax]
> for i=1,max_nr-1 do begin
> ; Shift the next plot by some amount in Z.
> IPLOT, Dp[*,i], dN[*,i]/duration[i], FLTARR(n)+i, /OVERPLOT, $
> X_LOG=(i eq max_nr-1)
> endfor
>
> I just gave it a set of Z coordinates, one for each data point. Then I shift
> the Z coordinates up by some amount, which would presumably be your "time".
> You may need to do some tweaking of the axis range or the scaling or
> rotation, but this should get you started.
>
> Hope this helps.

Yes, it looks like exactly what I want.

Thanks a lot,

Olaf
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: PropertySheet Widget Question
Next Topic: Re: function dependency report generator

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

Current Time: Fri Oct 10 10:58:57 PDT 2025

Total time taken to generate the page: 0.88100 seconds