What is the best way to flip part of the graph about the x axis in MATLAB ?
12 views (last 30 days)
Show older comments
so as stated above when I am trying to plot a graph of a wave, I want to reflect the down dips in the graph to be upwards, is there anyway of doing that directly?
2 Comments
Answers (2)
Star Strider
on 27 Apr 2018
Edited: Star Strider
on 27 Apr 2018
Multiply the y-values by -1 to ‘flip’ it. This is the best way, and one you can use with the findpeaks function to determine the ‘peaks’ from the original data and the ‘valleys’ from the inverted data.
You may want to add an offset if you want it completely above or below y=0.
2 Comments
Star Strider
on 27 Apr 2018
Abdullah AlQulaibi’s Answer moved here —
thank you for your reply, will that help with flipping the points shown in the figure here?

Star Strider
on 27 Apr 2018
My pleasure.
To flip them about the red line (at y=1), first subtract 1 from your signal, then multiply it by -1, then add 1 to it.
If you want everything to be above the red line at y=1, subtract 1 from your signal, then take the absolute value (the abs function), and add 1 back to it.
If ‘y’ is your signal:
y_new = 1 + abs(y - 1);
One of these should do what you want.
Ameer Hamza
on 27 Apr 2018
Since you want to invert about y=1 line, you can change the y variable of your data like this,
yInverted = -y+2; % +2 to bring it back to +1 after inversion
ploy(x, yInverted);
0 Comments
See Also
Categories
Find more on 2-D and 3-D 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!