From: Dima K. <gn...@di...> - 2017-09-02 06:49:49
|
Ethan A Merritt <sf...@us...> writes: > On Friday, 01 September, 2017 13:01:40 Dima Kogan wrote: >> Dima Kogan <gn...@di...> writes: >> >> > 2. Here I have pixels on x2y2 and latlon on xy. It also appears that >> > the thing that gets drawn on the plot is linear in xy, so the image >> > requires a nonlinear transformation (and thus we need the "pixels" >> > option). How is it decided what is drawn on the plot? What if I wanted >> > the drawn output to be linear in the pixels, but the rendered axes to >> > be nonlinear? Is this a specifiable choice, or does gnuplot always >> > pick the xy axes to render? >> >> To (partly) answer my own question: the x1y1 axis is rendered to the >> screen. So if I take the gnuplot script in question and >> >> 1. switch the forward/backward transforms in the 'set link' commands >> 2. change the plot command to 'axis x1y1' from 'axis x2y2' >> 3. change the range specs from touching the x1,y1 axes to the x2,y2 axes >> >> then the rendered plots look fine even without the "pixels". This is >> because in this case, the pixels live on the x1y1 axis, which is then >> linear with the output terminal axes, and the y2 axis is then the >> nonlinear one, but this doesn't directly affect the rendering. > > It may "look fine" but only one of the two treatments can be correct. > One places the pixels on an evenly spaced grid, the other does not. > The two rendered maps are different, although both now have a marker > on top of LA. Both maps are distorted from what I am used to seeing > so I cannot say which is intended. I guess there are 3 sets of coordinates that are being related to one another: 1. Pixel coordinates in the rgbimage being plotted 2. Gnuplot x1/y1/x2/y2 coordinates 3. Terminal coordinates of the output I THINK gnuplot always maps x1 and y1 linearly into the terminal coordinates, NOT x2 and y2; please tell me if this is wrong. At the beginning of this thread I was plotting the rgbimage into x2y2, this was nonlinearly mapped to x1y1, which was in turn linearly mapped into the terminal coords. I.e. the bitmap was being nonlinearly warped. With the variation above, the rgbimage goes into x1y1, so the terminal output warps the image linearly-only, and the x1y2 axes instead show the nonlinearity. The distortion you're seeing is likely due to the linear scaling of the x1y1 axes. If you 'set size ratio -1' then you should see exactly the images you see at openstreetmap.org, which look "normal" to me since I've been looking at them for many years. Thanks for the help. |