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

Home » Public Forums » archive » Re: block fill image
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: block fill image [message #62344] Fri, 05 September 2008 07:29 Go to next message
Juggernaut is currently offline  Juggernaut
Messages: 83
Registered: June 2008
Member
On Sep 5, 9:50 am, "ben.bighair" <ben.bigh...@gmail.com> wrote:
> On Sep 5, 7:58 am, maffie <matthias.demuz...@geo.kuleuven.be> wrote:
>
>> Dear all,
>
>> I would like to make an image, presenting cluster classes on the x-
>> axes, and different variables on the Y-axes. Each combination (Xi,Yi)
>> should be represented by a block, whereby its color fill should
>> represent a standard deviation, and with the mean written in the box
>> as text.
>
> Hi,
>
> I think you could simply create the image and populate each pixel with
> the standard deviation.  Then the trick is to use an image display
> routine that will use nearest neighbor interpolation - try David
> Fanning's TVSCALE or Liam Gumley's IMDISP for example.  You'll want to
> carefully control the color scheme for which each of these gives you
> plenty of options.  The subsequent annotations can be done using
> XYOUTS like this..
>
> dy = (y[1]-y[0])/2.
> for i = 0L, nx-1 do begin
>   for j = 0L, ny-1 do begin
>     XYOUTS, x[i], y[j] + dy, stddev[i,j], ALIGN = 0.5, ....
>   endfor ; j loop
> endfor ; i loop
>
> You may want to add an offset in the Y direction for the image - that
> is what the dy is about.
>
> Cheers,
> Ben

polyfill is another IDL procedure that you may be interested in if you
are wanting to make blocks of different colors on the plot
Re: block fill image [message #62346 is a reply to message #62344] Fri, 05 September 2008 06:50 Go to previous messageGo to next message
ben.bighair is currently offline  ben.bighair
Messages: 221
Registered: April 2007
Senior Member
On Sep 5, 7:58 am, maffie <matthias.demuz...@geo.kuleuven.be> wrote:
> Dear all,
>
> I would like to make an image, presenting cluster classes on the x-
> axes, and different variables on the Y-axes. Each combination (Xi,Yi)
> should be represented by a block, whereby its color fill should
> represent a standard deviation, and with the mean written in the box
> as text.
>

Hi,

I think you could simply create the image and populate each pixel with
the standard deviation. Then the trick is to use an image display
routine that will use nearest neighbor interpolation - try David
Fanning's TVSCALE or Liam Gumley's IMDISP for example. You'll want to
carefully control the color scheme for which each of these gives you
plenty of options. The subsequent annotations can be done using
XYOUTS like this..

dy = (y[1]-y[0])/2.
for i = 0L, nx-1 do begin
for j = 0L, ny-1 do begin
XYOUTS, x[i], y[j] + dy, stddev[i,j], ALIGN = 0.5, ....
endfor ; j loop
endfor ; i loop

You may want to add an offset in the Y direction for the image - that
is what the dy is about.


Cheers,
Ben
Re: block fill image [message #62417 is a reply to message #62344] Sat, 06 September 2008 03:39 Go to previous messageGo to next message
matthias.demuzere is currently offline  matthias.demuzere
Messages: 32
Registered: January 2006
Member
Thank you all for the comments.

Now, I have tried to TVscale of David, but I always get an error
message "that the procedure can not be found", although it is called
from a library IDL knows. When looking in to the TVSCALE script, I get
an error message in the following:
; Set up common block parameters, but only if device supports windows.
; Only if the QUIET keyword is not set.
IF ~Keyword_Set(quiet) THEN BEGIN
IF (!D.FLAGS AND 256) NE 0 THEN BEGIN
_tvimage_xsize = imgXsize
_tvimage_ysize = imgYsize
_tvimage_winID = !D.Window
_tvimage_winxsize = !D.X_Size
_tvimage_winysize = !D.Y_Size
_tvimage_position = position
_tvimage_current = 1
ENDIF
ENDIF

Does anybody has an idea what I am doing wrong here?

Cheers,
Matthias
Re: block fill image [message #62621 is a reply to message #62344] Tue, 30 September 2008 08:04 Go to previous messageGo to next message
kfish is currently offline  kfish
Messages: 1
Registered: September 2008
Junior Member
On Sep 5, 10:29 am, Bennett <juggernau...@gmail.com> wrote:
> On Sep 5, 9:50 am, "ben.bighair" <ben.bigh...@gmail.com> wrote:
>
>
>
>
>
>> On Sep 5, 7:58 am, maffie <matthias.demuz...@geo.kuleuven.be> wrote:
>
>>> Dear all,
>
>>> I would like to make an image, presenting cluster classes on the x-
>>> axes, and different variables on the Y-axes. Each combination (Xi,Yi)
>>> should be represented by ablock, whereby its color fill should
>>> represent a standard deviation, and with the mean written in the box
>>> as text.
>
>> Hi,
>
>> I think you could simply create the image and populate each pixel with
>> the standard deviation.  Then the trick is to use an image display
>> routine that will use nearest neighbor interpolation - try David
>> Fanning's TVSCALE or Liam Gumley's IMDISP for example.  You'll want to
>> carefully control the color scheme for which each of these gives you
>> plenty of options.  The subsequent annotations can be done using
>> XYOUTS like this..
>
>> dy = (y[1]-y[0])/2.
>> for i = 0L, nx-1 do begin
>>   for j = 0L, ny-1 do begin
>>     XYOUTS, x[i], y[j] + dy, stddev[i,j], ALIGN = 0.5, ....
>>   endfor ; j loop
>> endfor ; i loop
>
>> You may want to add an offset in the Y direction for the image - that
>> is what the dy is about.
>
>> Cheers,
>> Ben
>
> polyfill is another IDL procedure that you may be interested in if you
> are wanting to make blocks of different colors on theplot- Hide quoted text -
>
> - Show quoted text -

I'm just learning IDL and am having a heck of a time figuring out how
to make just a simple block plot. What I'd like to do, for example,
is plot temperature by depth on the x and y and have another variable,
fish growth, color coded in each temp-depth cell. I'm assuming I can
do this with polyfill or contour, but haven't been able to figure out
how. I'd appreciate any help I can get on this. Thanks!
Re: block fill image [message #62769 is a reply to message #62621] Tue, 30 September 2008 09:08 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
kfish writes:

> I'm just learning IDL and am having a heck of a time figuring out how
> to make just a simple block plot. What I'd like to do, for example,
> is plot temperature by depth on the x and y and have another variable,
> fish growth, color coded in each temp-depth cell. I'm assuming I can
> do this with polyfill or contour, but haven't been able to figure out
> how. I'd appreciate any help I can get on this.

I sympathize, because what you want to do, although
it seems simple, is actually quite complex using
IDL. You will probably have to build roll your own,
unfortunately.

I've done something very much like what you are going
to want to do, though, in the program HistoPlot. You
can read more about it here:

http://www.dfanning.com/graphics_tips/histoplot.html

I think if you look at the code (and I haven't looked at
it this morning) you will find it meticulously documented
(good luck!). Well, anyway, it is a place to start. :-)

Cheers,

David

--
David Fanning, Ph.D.
Coyote's Guide to IDL Programming (www.dfanning.com)
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Re: Trouble writing very large files
Next Topic: memory/spawn problems

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

Current Time: Wed Oct 08 16:00:06 PDT 2025

Total time taken to generate the page: 0.00679 seconds