How can I graph a vertical line using x-scaling?
I have developed an interactive demonstration that moves the slope of a straight line as a function of an input parameter. The line is shown as yBopB = L2VB*x + b with internal x scaling. At some point, the slope L2VB goes to zero. A line that is supposed to be perfectly vertical disappears from the graph!
To fix this, I have resorted to the approach below. In this, at a point of zero slope, I essentially increment the x scale only by an infinitesimal amount.
SetScale/I x xB,1.00001*xB,"", yBopB
yBopB = xB*(p + 1)
elseif (VB < 0)
L2VB = (1/VB) + 1
SetScale/P x xB,-0.01,"", yBopB
yBopB = L2VB*x - (L2VB - 1)*xB
else
L2VB = (1/VB) + 1
SetScale/P x xB,0.01,"", yBopB
yBopB = L2VB*x - (L2VB - 1)*xB
endif
I know that this problem can also be solved by plotting yBopB versus a separate xBopB wave, where xBoP = b will create a vertical line. But ... is there a cleverer way to achieve what I need ... graphing what should be a perfectly vertical line from a wave that has internal x-scaling?
The line thickness can be adjusted, right? What happens if you bump that up a bit?
October 30, 2019 at 11:40 am - Permalink
@jtigor ... The approach that I've given works for a line thickness of 2.
What I am asking is whether I have missed a way to set the x-scaling of a wave as below to create a wave where all y values are at the same x (i.e. to create a vertical line from the scaled wave).
SetScale/P x xB,0,"", yBopB
October 30, 2019 at 12:41 pm - Permalink
In reply to @jtigor ... The approach… by jjweimer
Could a very tiny muloffset help? It feels like cheating, but it can work. This example draws a nice vertical line:
•display/k=1 test
•getaxis/q bottom
•setaxis bottom,v_min,v_max; //lock in axis scaling
•ModifyGraph muloffset={1e-09,0},offset={((v_max-v_min)/2),0}
October 30, 2019 at 02:56 pm - Permalink