100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Programming

Plotting Basics in MATLAB

Learn how to create, label, and style 2-D line plots in MATLAB using the plot function, and how to control colors, markers, and axes.

Plotting & DataBeginner8 min readJul 10, 2026
Analogies

Creating Your First Plot

The workhorse function for 2-D visualization in MATLAB is plot(x, y), which draws straight line segments connecting the data points defined by the vectors x and y. If x and y are the same length, MATLAB simply connects (x(1),y(1)) to (x(2),y(2)) and so on; if you omit x entirely and call plot(y), MATLAB uses the vector's index as the x-axis. Every call to plot on a fresh figure clears prior contents unless you explicitly hold the axes, which is why beginners are often surprised when a second plot() call erases the first line instead of adding to it.

🏏

Cricket analogy: Just as a Manhattan chart connects each over's run tally into a continuous line so a commentator can spot the momentum shift, plot(x,y) strings together discrete data points into a single visual trend.

matlab
x = 0:0.1:2*pi;
y = sin(x);
plot(x, y, 'b-', 'LineWidth', 2);
xlabel('x (radians)');
ylabel('sin(x)');
title('Sine Wave');
grid on;

Line Styles, Colors, and Markers

MATLAB lets you control appearance with a compact LineSpec string, such as 'r--o', which combines a color (r for red), a line style (-- for dashed), and a marker (o for circle) in any order. For finer control, use name-value pairs like 'Color', [0.2 0.6 0.8], 'LineWidth', 2, or 'MarkerSize', 8 passed directly to plot(). Since R2014b, plot() returns a line object handle (h = plot(x,y)) whose properties can be modified after creation via h.Color = 'g' or set(h, 'LineWidth', 3), which is essential when you need to tweak a plot programmatically rather than re-typing the whole call.

🏏

Cricket analogy: Choosing 'r--o' for a plot is like a scorer deciding a team's boundary shots get a red dashed marker on the wagon wheel while singles get a plain blue dot, encoding meaning into visual style.

Labels, Titles, Legends, and Holding Plots

xlabel(), ylabel(), and title() attach text to the current axes, and legend('Series 1', 'Series 2') labels multiple lines drawn on the same axes; the order of legend strings must match the order the lines were plotted. To overlay multiple plots on one set of axes rather than replacing them, call hold on before subsequent plot() calls and hold off when finished. Since R2014b you can also plot multiple series in a single call, plot(x, y1, x, y2, 'r'), which avoids the need for hold entirely and keeps color cycling consistent through the default ColorOrder.

🏏

Cricket analogy: hold on layering a second team's run-rate line onto the same graph as the first is like a broadcaster overlaying two innings' worication-by-over graphs to compare a run chase directly against the target.

Since R2014b, each new line plotted without hold off automatically cycles through the axes' ColorOrder property, so successive plot() calls on the same held axes get different default colors without you specifying them.

Calling plot() again without hold on will silently delete the previous line and reset axis limits; if a plot mysteriously vanishes, check whether hold was left off before the next plotting command.

  • plot(x, y) connects data points with straight line segments; omitting x uses the index as the horizontal axis.
  • LineSpec strings like 'r--o' combine color, line style, and marker in a compact form.
  • Name-value pairs ('LineWidth', 2) and returned line handles allow precise, post-hoc styling.
  • xlabel, ylabel, title, and legend document what a plot shows and which line is which.
  • hold on/hold off control whether new plot() calls overlay or replace existing content.
  • Plotting multiple series in a single plot() call keeps default color cycling consistent.
  • grid on adds reference gridlines that make reading values off a curve easier.

Practice what you learned

Was this page helpful?

Topics covered

#Programming#MATLABStudyNotes#PlottingBasicsInMATLAB#Plotting#MATLAB#Creating#Plot#StudyNotes#SkillVeris#ExamPrep