In this section, we will explore how to create and customize 3D plots in MATLAB. 3D plots are essential for visualizing data that has three dimensions, and MATLAB provides a variety of functions to create and manipulate these plots.

Key Concepts

  1. Creating 3D Plots: Learn the basic functions to create 3D plots.
  2. Customizing 3D Plots: Understand how to modify the appearance of 3D plots.
  3. Types of 3D Plots: Explore different types of 3D plots available in MATLAB.
  4. Practical Examples: Implement practical examples to solidify understanding.
  5. Exercises: Practice creating and customizing 3D plots.

Creating 3D Plots

Basic 3D Plot Functions

  1. plot3: Used for creating 3D line plots.
  2. mesh: Creates a wireframe mesh.
  3. surf: Creates a 3D surface plot.
  4. contour3: Creates 3D contour plots.

Example: Creating a 3D Line Plot

% Define the data
x = linspace(0, 10, 100);
y = sin(x);
z = cos(x);

% Create a 3D line plot
figure;
plot3(x, y, z);
title('3D Line Plot');
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
grid on;

Explanation:

  • linspace(0, 10, 100): Generates 100 points between 0 and 10.
  • plot3(x, y, z): Plots the 3D line using x, y, and z data.
  • title, xlabel, ylabel, zlabel: Adds title and labels to the plot.
  • grid on: Adds a grid to the plot for better visualization.

Customizing 3D Plots

Changing Colors and Markers

figure;
plot3(x, y, z, 'r--o', 'LineWidth', 2, 'MarkerSize', 5);
title('Customized 3D Line Plot');
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
grid on;

Explanation:

  • 'r--o': Red dashed line with circle markers.
  • 'LineWidth', 2: Sets the line width to 2.
  • 'MarkerSize', 5: Sets the marker size to 5.

Adding Multiple Plots

% Define additional data
y2 = cos(x);
z2 = sin(x);

figure;
plot3(x, y, z, 'b-', x, y2, z2, 'g--');
title('Multiple 3D Line Plots');
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
legend('sin(x) vs cos(x)', 'cos(x) vs sin(x)');
grid on;

Explanation:

  • plot3(x, y, z, 'b-', x, y2, z2, 'g--'): Plots two 3D lines with different styles.
  • legend: Adds a legend to differentiate between the plots.

Types of 3D Plots

Mesh Plot

[X, Y] = meshgrid(-5:0.5:5, -5:0.5:5);
Z = sin(sqrt(X.^2 + Y.^2));

figure;
mesh(X, Y, Z);
title('3D Mesh Plot');
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');

Explanation:

  • meshgrid: Generates a grid of X and Y values.
  • sin(sqrt(X.^2 + Y.^2)): Computes Z values based on X and Y.
  • mesh(X, Y, Z): Creates a 3D mesh plot.

Surface Plot

figure;
surf(X, Y, Z);
title('3D Surface Plot');
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
colorbar;

Explanation:

  • surf(X, Y, Z): Creates a 3D surface plot.
  • colorbar: Adds a color bar to indicate the scale of Z values.

Contour Plot

figure;
contour3(X, Y, Z, 20);
title('3D Contour Plot');
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');

Explanation:

  • contour3(X, Y, Z, 20): Creates a 3D contour plot with 20 contour levels.

Practical Examples

Example 1: Visualizing a Mathematical Function

[X, Y] = meshgrid(-2*pi:0.1:2*pi, -2*pi:0.1:2*pi);
Z = sin(X) .* cos(Y);

figure;
surf(X, Y, Z);
title('3D Surface Plot of sin(X) * cos(Y)');
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
colorbar;

Example 2: Creating a 3D Bar Plot

data = randi(10, 5, 5);

figure;
bar3(data);
title('3D Bar Plot');
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');

Exercises

Exercise 1: Create a 3D Line Plot

Task: Create a 3D line plot for the following data:

  • x = linspace(0, 2*pi, 100)
  • y = sin(x)
  • z = cos(2*x)

Solution:

x = linspace(0, 2*pi, 100);
y = sin(x);
z = cos(2*x);

figure;
plot3(x, y, z, 'm-.', 'LineWidth', 1.5);
title('3D Line Plot Exercise');
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
grid on;

Exercise 2: Create a 3D Surface Plot

Task: Create a 3D surface plot for the function Z = exp(-0.1*(X.^2 + Y.^2)) using meshgrid to generate X and Y values from -3 to 3 with a step of 0.1.

Solution:

[X, Y] = meshgrid(-3:0.1:3, -3:0.1:3);
Z = exp(-0.1*(X.^2 + Y.^2));

figure;
surf(X, Y, Z);
title('3D Surface Plot Exercise');
xlabel('X-axis');
ylabel('Y-axis');
zlabel('Z-axis');
colorbar;

Conclusion

In this section, we have covered the basics of creating and customizing 3D plots in MATLAB. We explored different types of 3D plots, including line plots, mesh plots, surface plots, and contour plots. By practicing with the provided examples and exercises, you should now be comfortable with visualizing 3D data in MATLAB. In the next section, we will delve into customizing plots further to enhance their appearance and readability.

© Copyright 2024. All rights reserved