In last week’s post, I introduced a graphics challenge that I use when I teach a MATLAB graphics class to new technical support engineers at MathWorks. This week, I show the first part of the solution. This video shows how we draw one curve with two colors and how we draw a horizontal line across the plot.
This week’s video makes use of concepts I’ve introduced in previous videos:
Doug first used MATLAB in 1994, could not figure it out until he got some help in 1995. He is now dedicated to making sure that no one else wastes a year of their life not knowing MATLAB like he did.
Very nice tutorial, I was wondering how you were running the function without calling it from another script or workspace until you explained the Edit Run Configuration part, that’s something I never used before, keep up the good work Doug.
Glad the advanced users are learning something from these videos also. The File Exchange file looks good. You even did the interpolation near the line. I cover that in my language class, it is kind of fiddly, and not really the point of this exercise, so I only assign that to the people that get done early! :)
Thanks Doug. NaN does the trick indeed in your code. Whether we are needing to represent a dual color graph with other colors than the MATLAB defaults, I suggest this modified version:
function createDualColorPlot(x, y, lev)
[yHigh, yLow] = FilterY(y,lev);
cox = [0.58 0.39 0.39];
coz = [0.23 0.44 0.34];
plot(x,yHigh,'Color',cox,'LineWidth',2);
hold on
plot(x,yLow,'Color',coz,'LineWidth',2);
hold off
xlimits = xlim;
line(xlimits,[lev lev],'Color','k');
The emphasis in the lines can be useful to give prominence some pieces of the graph.
Leave a Reply
About
Doug Hull is a proud MathWorker who is on a mission to help you with MATLAB.
Very nice tutorial, I was wondering how you were running the function without calling it from another script or workspace until you explained the Edit Run Configuration part, that’s something I never used before, keep up the good work Doug.
Hello Doug,
This topic inspired me to develop a new FEX submission, LINECMENU. Thanks for the inspiration!
The “Edit run configuration” is new to me as well and sounds like I will use it a lot — starting now :-)
Thank you!
@Everyone,
Glad the advanced users are learning something from these videos also. The File Exchange file looks good. You even did the interpolation near the line. I cover that in my language class, it is kind of fiddly, and not really the point of this exercise, so I only assign that to the people that get done early! :)
“Edit Run Configuration” is awesome!
One thing about the code. I did this part, but I was getting “bad” graphs whenever x was too coarse or I had more than one period. Here is my code:
I think NaN does the trick. Thank you Doug!
Thanks Doug. NaN does the trick indeed in your code. Whether we are needing to represent a dual color graph with other colors than the MATLAB defaults, I suggest this modified version:
function createDualColorPlot(x, y, lev) [yHigh, yLow] = FilterY(y,lev); cox = [0.58 0.39 0.39]; coz = [0.23 0.44 0.34]; plot(x,yHigh,'Color',cox,'LineWidth',2); hold on plot(x,yLow,'Color',coz,'LineWidth',2); hold off xlimits = xlim; line(xlimits,[lev lev],'Color','k');The emphasis in the lines can be useful to give prominence some pieces of the graph.