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)?

回答(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 个评论

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.

请先登录,再进行评论。

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 个评论

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?

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Annotations 的更多信息

产品

版本

R2023a

标签

Community Treasure Hunt

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

Start Hunting!

Translated by