
#Xline matlab code#
Matlab Plotting - Horizontal Lines and Vertical lines 1.- Basics 2.- Code 3.- Applied Example 4.- Video (alternative code) 1.- Basics We are going to create a simple Matlab function to add horizontal lines (and vertical ones) to any given Matlab-created plot. Example: xline(12.4) plots the line at x = 12.4. However, the type of value you specify must match the data type for the values along the x-axis. You can specify xvalue as a numeric, categorical, datetime, or duration value. Location of the vertical line on the x-axis, specified as a scalar. This MATLAB function creates a constant horizontal line at the specified y-value in the current axes. The second argument of line is a list of the y values corresponding the x elements, so it will make a line from (x1, lower y limit) to x1, upper y limit). Get(gca, 'ylim') gives you a 2 element array with the lower limit on the y axis, and the upper limit on the y axis, whatever they are. If x, y, and z are all matrices with the same size, then line plots multiple 3-D lines using the matrix columns.

If x, y, and z are all vectors with the same length, then line plots a single 3-D line. If you specify this property as a function handle or cell array, you can access the object that is being deleted using the first argument of the callback function. If you do not specify the DeleteFcn property, then MATLAB executes a default deletion function. MATLAB executes the DeleteFcn callback before destroying the properties of the object. Specify name-value pairs after all other input arguments. For a list of properties, see ConstantLine Properties. Xline(_,Name,Value) specifies constant line properties using one or more name-value pair arguments. For example Run the command by entering it in the MATLAB Command Window. (That's what I did.)įor more information, see the function reference pages for startup and userpath.Xline(xvalue,LineSpec) specifies either the line style, the line color, or both. You can also use the userpath function to change your user path location, if you don't like the default location chosen by MATLAB. '/Users/steve/OneDrive - MathWorks/MATLAB' Run the userpath function to see where that is. If you want to do this for each MATLAB session, put the call to set into a file called startup.m that is located in your user path folder. This default setting does not persist between MATLAB sessions, though. lines on a high-DPI monitor works a little better. After some additional experimentation, I found that using 1.5-pt. lines can make markers indistinct, and I can confirm that observation when not using a high-DPI monitor. Blog reader Gang Yao pointed out that using 2-pt. Update: Using a thicker line width might only work well for high-DPI monitors.
#Xline matlab full#
For a full explanation of the MATLAB system for setting default graphics object properties, see Default Property Values in the MATLAB documentation. This odd-looking line of code sets the default LineWidth property for line objects to 2.0. Here it is: set(groot, 'defaultLineLineWidth',2.0) It turns out that there's a way to get MATLAB to draw all plotted lines thicker by default. You can do that in each call to plot by using the LineWidth parameter, like this: plot(x,y1,x,y2, 'LineWidth',2.0)īut then you have to remember to add the LineWidth parameter all the time. So, I like to plot thicker lines, roughly 1.5-2.0 points. On a high resolution display, however, the plotted lines are pretty close to 0.5 points thick.Īnd, to my eyes, that's too thin to see the colors clearly. Because of the way the figure above was captured for display in your browser, the lines probably appear a little thicker than 0.5 points.

Here's where I have to wave my hands a little. The plot above uses the default MATLAB line width of 0.5 points. Here's a basic example of plot from the MATLAB documentation: x = linspace(-2*pi,2*pi) That's because I don't use the default line thickness for my plots. You would see something like this instead:ĭo you see the difference? Exactly what you see will vary depending on your computer and your display resolution, but the original image from my blog post has thicker colored lines. If you ran my code exactly as I posted it, though, you probably wouldn't see exactly the same thing. In last week's blog post on pursuit curves, I showed this figure: Today's blog post is dedicated to everyone whose eyes aren't as young as they used to be.
