# needs to get projection of one point from one x-axis to another

4 visualizzazioni (ultimi 30 giorni)
Aleksandra il 28 Mag 2012
Hello. I have a problem with gui. I got a plot with 2 different scaling x-axes and one y-axis. I need to get position of point (created on red axis) in values of magenta axes. And then to create a plot using this point as a start on magenta axes. How can I do it?
##### 1 CommentoMostra NessunoNascondi Nessuno
Aleksandra il 28 Mag 2012
so magenta axes - xaxislocation, bottom
yaxislocation, left
red axes - xaxislocation, top
yaxislocatopn, right

Accedi per commentare.

### Risposte (2)

Geoff il 28 Mag 2012
Have I understood correctly? You have xred and xmag which are two different ranges. You want to translate the x-coord from the red axis to the magenta axis without a visual change in position.
I assume that xred and xmag are both 1-by-2 vectors defining a min- and max-value. Assuming that your axis scale is linear, I'll first turn a point x into an axis-relative value with the red scaling (axis-relative being a number from 0 to 1 - ie normalised):
xrel = (x - xred(1)) / diff(xred);
Now, I'll reverse the calculation and translate the relative position into the magenta axis:
x1 = xmag(1) + xrel * diff(xmag);
Putting that together, to translate from one axis limit to another you could do this:
xlate = @(x,lim1,lim2) lim2(1) + (x-lim1(1)) * diff(lim2) / diff(lim1);
x1 = xlate(x, xred, xmag);
This will work if x is a vector, too.
##### 4 CommentiMostra 3 commenti meno recentiNascondi 3 commenti meno recenti
Geoff il 26 Giu 2012

Accedi per commentare.

Aleksandra il 25 Giu 2012
Finally, I used ginput(1) to get pixel location of desired point and then use this location as start point for new axes.
##### 0 CommentiMostra -1 commenti meno recentiNascondi -1 commenti meno recenti

Accedi per commentare.

### Categorie

Scopri di più su Lighting, Transparency, and Shading in Help Center e File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by