MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

ArrayPlot coordinates scaling for overlays

  • To: mathgroup at smc.vnet.net
  • Subject: [mg109167] ArrayPlot coordinates scaling for overlays
  • From: fd <fdimer at gmail.com>
  • Date: Wed, 14 Apr 2010 23:13:25 -0400 (EDT)

All

This seems a simple problem I not finding an easy solution.

I have a plot obtained from an ArrayPlot, for which the coordinates
are the indexes of the matrix being plotted; I want to overlay to this
plot some other plot, say, from DensityPlot. I have to tell
Mathematica that the bottom left corner of the ArrayPlot is {xi,yi}
and the upper right is {xf,yf}.

It would be nice as well to know how you could do this with a raster
image in general.

I was trying to use ListDensityPlot, but for the specific problem I
dealing with it is excruciatingly slow.

I'm also working to re-scale the FrameTicks by defining a new
ArrayPlot function, with limited success. Below the code I'm working
on.

Would anyone have an idea about this? Thanks in advance for any help.
Felipe

arrayPlotScale[array_List, {xmin_, xmax_}, {ymin_, ymax_}] :=
 Module[{deltas =
    Reverse[{ymax - ymin, xmax - xmin}/Dimensions[array]],
   n = Dimensions[array] // Reverse},
  ArrayPlot[array,
   FrameTicks ->
    Reverse[{Table[{i, xmin + i deltas[[1]] }, {i, 0, n[[1]], 20}],
      Table[{n[[2]] - i, ymin + i deltas[[2]]}, {i, 0, n[[2]],
10}]}]]]

test = Table[i j, {i, 1, 100}, {j, 100, 1, -1}];

arrayPlotScale[test, {0, 16}, {0, 100}]


  • Prev by Date: Re: Pade Approximation (further generalizations?---feature request)
  • Next by Date: Re: Equation problem
  • Previous by thread: Re: Locator appearance
  • Next by thread: Re: ArrayPlot coordinates scaling for overlays