Re: block fill image [message #62344] |
Fri, 05 September 2008 07:29  |
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   |
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 #62621 is a reply to message #62344] |
Tue, 30 September 2008 08:04   |
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  |
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.")
|
|
|