Create a 2D plot with irregular axes

I have a dataset with associated x and y coordinates, but the coordinates for both axes are not at regular intervals. Is there a way to make a map (ideally 2D but I would accept 3D) that shows these results - the values represented by colour - at their coordinates (akin to imagsc)?

Answers (2)

The plot function does not care if the data are not regularly sampled. It wil plot them appropriately regardless.
Example —
t = sort(rand(1,100));
s = sin(5*pi*t);
figure
plot(t, s, '.-')
grid
axis('padded')
sp = s;
sp(end) = NaN;
c = sp;
figure
patch(t,s,c, EdgeColor='interp',Marker='s',MarkerFaceColor='flat')
grid
axis('padded')
colormap(turbo)
I am not certain what you want.
.

3 Comments

I am not looking to create a line plot, but a map plot (akin to the attached).
I am not certain what the image is, or what it represents.
A histogram2 plot could work.
Try something like this —
imshow(imread('TT3.png'))
x = randn(1000,1);
y = randn(1000,1);
figure
histogram2(x, y, 50, FaceColor='flat')
colormap(turbo)
% axis('equal')
axis('square')
view(0,90)
Make appropriate changes to get the result you want.
.
The attached image is a C-scan plot of data with both x and y coordiantes. The image is achieved via a wireframe plot that is made solid. The histogram plot would leave too many blank spaces that are undesirable.

Sign in to comment.

pointsize = 20;
scatter(x, y, pointsize, Dataset(:))
This will produce colored round dots at the given locations.
Producing square or rectangular dots would be more work.

2 Comments

Ah, I guess you can specify square markers for scatter() if you need to plot squares.
Is there any way to merge the scatter points to create an image that looks like the attached?

Sign in to comment.

Products

Release

R2023a

Tags

Asked:

on 2 May 2025

Commented:

on 6 May 2025

Community Treasure Hunt

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

Start Hunting!