how to plot matrix in matlab?

2 visualizzazioni (ultimi 30 giorni)
AMAN KUMAR
AMAN KUMAR il 22 Mag 2020
Commentato: Walter Roberson il 28 Mag 2025
I have 2d matrix for different resistivity layers and sounding (Depicted in x axis)
  3 Commenti
Walter Roberson
Walter Roberson il 22 Mag 2020
In particular the 'stacked' option of 'bar'
AMAN KUMAR
AMAN KUMAR il 26 Mag 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"

Accedi per commentare.

Risposte (1)

Aditya
Aditya il 28 Mag 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 Commento
Walter Roberson
Walter Roberson il 28 Mag 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.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by