To plot two graphs in MATLAB on the same figure, you can use the `plot` function for both sets of data and the `hold on` command to maintain the current plot while adding new data.
x = 0:0.1:10; % Define x values
y1 = sin(x); % Calculate first y values
y2 = cos(x); % Calculate second y values
plot(x, y1, 'r-', 'DisplayName', 'sin(x)'); % Plot first graph in red
hold on; % Hold the current plot
plot(x, y2, 'b-', 'DisplayName', 'cos(x)'); % Plot second graph in blue
hold off; % Release the hold
legend; % Display legend
title('Plot of sin(x) and cos(x)'); % Title for the plot
xlabel('X-axis'); % Label for X-axis
ylabel('Y-axis'); % Label for Y-axis
Understanding MATLAB Plotting Basics
What is a Plot?
A plot is a visual representation of data that allows you to easily understand relationships and trends within that data. In MATLAB, plots play a crucial role in interpreting mathematical functions and analyzing datasets. By learning how to plot two graphs in MATLAB, you can effectively compare two different sets of data, revealing patterns that might not be immediately apparent through raw numbers alone.
Key MATLAB Plotting Functions
When working with plots in MATLAB, several core functions come into play:
- `plot()`: Used for creating basic 2D plots.
- `hold on`: Enables adding multiple graphs to the same figure without overwriting previous plots.
- `grid on`: Displays a grid to enhance readability.
Understanding these functions is vital for mastering plot creation in MATLAB.

Setting Up Your MATLAB Environment
Installing MATLAB
Before diving into plotting, ensure you have MATLAB installed. Follow the installation procedure from MathWorks, including selecting required toolboxes based on your needs. Familiarize yourself with the interface, which consists of the Command Window, Workspace, Editor, and more.
Loading Data
To effectively plot graphs, you’ll need data. You can either load existing datasets or generate sample data using simple MATLAB commands. For instance, you can leverage `linspace()` to create a set of values and apply mathematical functions to generate corresponding Y values.
x = linspace(0, 10, 100); % Create a vector of 100 points from 0 to 10
y1 = sin(x); % First data set: Sine function
y2 = cos(x); % Second data set: Cosine function

Plotting Two Graphs on the Same Axis
Basic Plotting
To begin plotting, start with your first graph. Use the `plot()` function, allowing you to customize aspects such as line style, color, and markers for better visualization.
figure; % Open a new figure window
plot(x, y1, 'r-', 'LineWidth', 2); % Plot the first graph in red
title('Sine and Cosine Functions');
xlabel('X-axis');
ylabel('Y-axis');
hold on; % Allow subsequent plots to be drawn on the same figure
The above code snippet creates a plot of the sine function in red, while the `hold on` command prepares the environment for the next graph.
Adding the Second Graph
Next, use the `plot()` function again to add the second graph—cosine in this case—on the same axes. This builds a comprehensive visualization.
plot(x, y2, 'b--', 'LineWidth', 2); % Plot the second graph in blue dashed line

Customizing Your Plots
Adding Legends
A legend is crucial for differentiating between multiple datasets. Incorporate a legend to clarify which graph represents which data.
legend('Sine', 'Cosine'); % Add a legend to the plot
Adding Grid and Title
Having a grid can significantly enhance the readability of your graphs. Additionally, it's beneficial to include titles and axis labels for context and clarity.
grid on; % Turn on the grid
title('Comparison of Sine and Cosine Functions'); % Add a title
xlabel('X-axis');
ylabel('Y-axis');

Advanced Plotting Techniques
Using Different Line Styles and Markers
MATLAB allows for extensive customization of your plots. You can use various line styles and markers to further enhance the visuals. Here’s how to apply different markers for each graph:
plot(x, y1, 'o', 'MarkerSize', 8, 'Color', 'r'); % Circle markers for sine
plot(x, y2, 's', 'MarkerSize', 8, 'Color', 'b'); % Square markers for cosine
Overlaying Different Types of Plots
Occasionally, you might want to overlay different styles of graphs, like bar graphs or scatter plots over line plots. This can provide deeper insights into the data at hand.
scatter(x, y2, 'filled', 'MarkerEdgeColor', 'b'); % Overlay scatter plot

Saving and Exporting Your Plots
How to Save Plots
Once you’ve created your plots, you might want to save them for future use. MATLAB supports multiple formats such as PNG, JPEG, and PDF. Use the following command to save your current figure:
saveas(gcf, 'sine_cosine_plot.png'); % Save current figure as PNG

Conclusion
In this article, we explored how to plot two graphs in MATLAB with precision and clarity. By understanding the fundamental functions, customizing the appearance, and saving your work effectively, you can create impactful visualizations. Remember to practice plotting with different datasets to enhance your skills. For more tips and tricks on MATLAB commands, consider engaging with our tutorials and resources!