how to plot matrix in matlab?

2 views (last 30 days)
AMAN KUMAR
AMAN KUMAR on 22 May 2020
Commented: Walter Roberson on 28 May 2025
I have 2d matrix for different resistivity layers and sounding (Depicted in x axis)
  3 Comments
Walter Roberson
Walter Roberson on 22 May 2020
In particular the 'stacked' option of 'bar'
AMAN KUMAR
AMAN KUMAR on 26 May 2020
I have used heatplot here over stacked bar "using imagesc(), colorbar" .
just I have to make a 2d matrix but for all 300 depth points, but its a lengthy method
yes, bar() stacked method is useful and easier can anyone share with me the code for bar() "stack"

Sign in to comment.

Answers (1)

Aditya
Aditya on 28 May 2025
Hi Aman,
To plot a 2D matrix in MATLAB, you can use the following functions:
  • imagesc(): Used for visualizing matrix values as a color-scaled image. Best for displaying resistivity layers.
imagesc(matrix);
colorbar;
title('Heatmap of Matrix');
  • bar() with 'stacked': Used to represent matrix columns in a stacked bar format. Ideal for layer comparisons.
bar(matrix, 'stacked');
title('Stacked Bar Chart');
  • surf(): Used for creating 3D surface plots of matrix values.
surf(matrix);
shading interp;
title('3D Surface Plot');
If you want to read more about these functions, refer to the below MATLAB documentation link:
I hope this helps!
  1 Comment
Walter Roberson
Walter Roberson on 28 May 2025
A few notes:
imagesc() assumes that the values are equally spaced, and there is no way of changing that.
The XData and YData options of imagesc() allow you to select the X or Y coordinates that the image will be painted into; but be careful because the coordinates you pass are treated as the centers of the outermost pixels, not as the edges of the outermost pixels.
surf() is able to handle irregularly spaced data, including data coordinates that curve.
surf() takes the input coordinates as being the coordinates of vertices, and interpolates between four vertices to get the face color displayed. Because of this, for an N x M array of input data, surf() will only draw (N-1) x (M-1) faces and the faces will not directly represent the input data.

Sign in to comment.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!