How to reflect a graph
27 views (last 30 days)
Show older comments
JDilla
on 11 Mar 2015
Answered: Deeptanu Datta
on 18 Dec 2019
I am trying to reflect the graph closest to the origin. The reflection should start where the graph ends. I have not achieved this. Please see figure1. Any ideas? much appreciated
for n = 1:5;
v = v(n);
i;
d=z1/cosd(i); %calculate diagonal distance
h(n)=z1*sind(i); %calculate horizontal distance
t(n) = d/v;
v = [3:7];
depth(n)=z1
sini = ((sind(i)*(v+1))/v);
i= asind(sini)
z1=z1+2;
end
N=cumsum(h);
plot(h,depth)
hold on
grid on
B=cumsum(h)+N(:,end)
C=flip(depth)
plot(B,C)
axis ij
3 Comments
Accepted Answer
Michael Haderlein
on 11 Mar 2015
I guess you want something like this:
>> x=1:10;y=x.^2.*rand(size(x));
>> figure, plot(x,y), hold all
>> reflectionx=8;
>> plot(2*reflectionx-x,y)
3 Comments
Michael Haderlein
on 11 Mar 2015
same color -> use "hold on" instead of "hold all" or set the color explicitly (see the plot documentation)
reflection point -> "reflectionx=x(end);" in case that x is monotonically increasing or "reflectionx=max(x);" in case that the order of x is arbitrary.
implement into your own code -> I don't fully understand your code but I see you have two plots. Also I don't know which of them you want to reflect, but in both cases you have x-values and y-values ((h,depth) resp. (B,C)). In case you want to reflect the first one, use my code and replace x with h and y with depth. Same procedure with the second plot, respectively.
More Answers (1)
Deeptanu Datta
on 18 Dec 2019
How to take mirror image of a plot about the straight line y=-x ?
0 Comments
See Also
Categories
Find more on Line Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!