Remove Dashed Grey Asymptote Lines From Plot

20 views (last 30 days)
I have a plot of a few symbolic functions in matlab, and I'm getting some grey dashed lines. I'm going to guess that these are for asymptotes, which I expected. Is there a way to remove these lines?
Attached is my plot. The lines I'm talking about are at x = 4 and x = 0. Ignore the legend and other colors, that's another story.
  3 Comments
Benjamin Blood
Benjamin Blood on 12 Sep 2020
I used fplot. I guess you're right, it's a discontinuity. Do you know if there's a way to remove it?
mauricio
mauricio on 19 Sep 2022
is there a way to change their color?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 12 Sep 2020
If you let
h = fplot(expression, range)
then
h.NodeChildren(1).Visible = 'off';
will turn off the discontinuinity lines. (The gray dashed ones, at least. At the moment I do not recall the formula for any functions that generate the brown discontinuity lines. Possibly NodeChildren(2) for those.)
  5 Comments
Walter Roberson
Walter Roberson on 18 Sep 2020
Put a drawnow() before setting the Visible to off. If you set the visible to off before the drawnow then it will be reset to on when the plot renders.
... No, I do not know why this happens. I could make some guesses.
Oh, look at that, the line comes back again if you resize the plot. I think we can deduce that the rendering callbacks are turning the visibility on. You might want to add in a ResizeFcn callback to drawnow() and turn it invisible again after the axes changes. Or perhaps a PostSet listener on the axes Position property.
Benjamin Blood
Benjamin Blood on 19 Sep 2020
Running drawnow works. Right now I'm just running those commands in the command window every time I resize the plot, but that works for now. Thank you for your help!

Sign in to comment.

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!