Surface plotting some details [message #58705] |
Tue, 12 February 2008 09:39  |
rhyme2ri2
Messages: 11 Registered: February 2008
|
Junior Member |
|
|
Hello all,
I'm want to plot a surface whose data varies in following manner
x: 7 columns and 133 rows of type(time)
11.0000 11.0000 11.0000 11.0000 11.0000 11.0000 11.0000
11.083 11.083 11.083 11.083 11.083 11.083 11.083
....
y: 7 columns and 133 rows of type(regions)
0 1 2 3 4 5 6
0 1 2 3 4 5 6
z: 7 columns and 133 rows of type(data values)
3515.3 2123.5 1231.2 1231.3 4512.1 2345.4 12345.5
.....
Now by default idl divides my x and y range in 51,51 pts... What i
want is that my x-axis should show the scale from 10 to 22 as i have
data values for this interval. Moreover when i try to set the range it
changes the range to 10 to 22 but the surface is plotted as before or
its expanded...
And many a times my data values r available for small time intervals
like 12 to 16 UT ..even then it plots the surface in the whole
plot...Is there a possible way to show the range as 10 to 22 but to
plot the surface in only the region where the data values are
available???
Can someone out there please help me out eith this? As such m too new
to idl.....tell me if i need to shed some more light on the issue...
Thanks & regards
-Ritu
|
|
|
Re: Surface plotting some details [message #58745 is a reply to message #58705] |
Fri, 15 February 2008 03:33  |
Spon
Messages: 178 Registered: September 2007
|
Senior Member |
|
|
On Feb 12, 5:39 pm, rhyme2ri2 <rhyme2...@gmail.com> wrote:
> Hello all,
>
> I'm want to plot a surface whose data varies in following manner
> x: 7 columns and 133 rows of type(time)
> 11.0000 11.0000 11.0000 11.0000 11.0000 11.0000 11.0000
> 11.083 11.083 11.083 11.083 11.083 11.083 11.083
> ....
> y: 7 columns and 133 rows of type(regions)
> 0 1 2 3 4 5 6
> 0 1 2 3 4 5 6
> z: 7 columns and 133 rows of type(data values)
> 3515.3 2123.5 1231.2 1231.3 4512.1 2345.4 12345.5
> .....
>
> Now by default idl divides my x and y range in 51,51 pts... What i
> want is that my x-axis should show the scale from 10 to 22 as i have
> data values for this interval. Moreover when i try to set the range it
> changes the range to 10 to 22 but the surface is plotted as before or
> its expanded...
> And many a times my data values r available for small time intervals
> like 12 to 16 UT ..even then it plots the surface in the whole
> plot...Is there a possible way to show the range as 10 to 22 but to
> plot the surface in only the region where the data values are
> available???
>
> Can someone out there please help me out eith this? As such m too new
> to idl.....tell me if i need to shed some more light on the issue...
>
> Thanks & regards
> -Ritu
Ok, I'm going to have a stab at this.
I'm guessing you're using TRIGRID, and that you have sensible values
for the NX and NY keywords. What you need to do to force grid spacing
to depend solely on NX and NY is to set GS = [0,0] in your call to
TRIGRID. This should force your spacing to be computed as:
GS[0] = (x1- x0)/(NX-1) & GS[1] (y1- y0)/(NY-1)
In terms of showing a range greater than the edges of your data, you
won't get there with trigrid alone. From the LIMITS keyword help:
If present, Limits should be a four-element vector [x0, y0, x1, y1]
that specifies the data range to be gridded (x0 and y0 are the lower X
and Y data limits, and x1 and y1 are the upper limits). The default
for Limits is:
[MIN(X), MIN(Y), MAX(X), MAX(Y)]
If the NX or NY keywords are not specified, the size of the grid
produced is specified by the value of Limits. *If the NX or NY
keywords are set to specify the output grid dimensions, a grid of the
specified size will be used regardless of the value of Limits.*
If this is not the answer to the question you are trying to ask, then
"Why don't you tell us EXACTLY what you are trying to do? :-)", as
someone once asked.
Cheers,
Chris
|
|
|
Re: Surface plotting some details [message #58746 is a reply to message #58705] |
Fri, 15 February 2008 03:29  |
rhyme2ri2
Messages: 11 Registered: February 2008
|
Junior Member |
|
|
On Feb 12, 10:39 pm, rhyme2ri2 <rhyme2...@gmail.com> wrote:
> Hello all,
>
> I'm want to plot asurfacewhose data varies in following manner
> x: 7 columns and 133 rows of type(time)
> 11.0000 11.0000 11.0000 11.0000 11.0000 11.0000 11.0000
> 11.083 11.083 11.083 11.083 11.083 11.083 11.083
> ....
> y: 7 columns and 133 rows of type(regions)
> 0 1 2 3 4 5 6
> 0 1 2 3 4 5 6
> z: 7 columns and 133 rows of type(data values)
> 3515.3 2123.5 1231.2 1231.3 4512.1 2345.4 12345.5
> .....
>
> Now by default idl divides my x and y range in 51,51 pts... What i
> want is that my x-axis should show the scale from 10 to 22 as i have
> data values for this interval. Moreover when i try to set the range it
> changes the range to 10 to 22 but thesurfaceis plotted as before or
> its expanded...
> And many a times my data values r available for small time intervals
> like 12 to 16 UT ..even then it plots thesurfacein the whole
> plot...Is there a possible way to show the range as 10 to 22 but to
> plot thesurfacein only the region where the data values are
> available???
>
> Can someone out there please help me out eith this? As such m too new
> to idl.....tell me if i need to shed some more light on the issue...
>
> Thanks & regards
> -Ritu
Yup....Gotcha...........
I inserted some zeroes and figured it out.
But it's surprising that such a uitlity like surface does not provide
the faicility to specify x and y max and min values!!!!!
|
|
|