how to plot matrix in matlab?

2 Ansichten (letzte 30 Tage)
AMAN KUMAR
AMAN KUMAR am 22 Mai 2020
Kommentiert: Walter Roberson am 28 Mai 2025
I have 2d matrix for different resistivity layers and sounding (Depicted in x axis)
  3 Kommentare
Walter Roberson
Walter Roberson am 22 Mai 2020
In particular the 'stacked' option of 'bar'
AMAN KUMAR
AMAN KUMAR am 26 Mai 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"

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Aditya
Aditya am 28 Mai 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 Kommentar
Walter Roberson
Walter Roberson am 28 Mai 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.

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by