How to make a graph that shows evolution of a variable in time through different depths in a lake.
17 次查看(过去 30 天)
显示 更早的评论
Hi all, I saw this graph a lot in papers (like the image below), but I do not have any idea how to make it in Matlab. I want to show a lake's temperature evolution through time in different depths, like the graph I attached. I have a matrix: Z=3705x38 matrix which shows data from 38 depth levels during 3705 days (each column is data from a sensor deployed in the depth of the lake). Please consider that the depth intervals are not the same and I want to show that is lake. so as in the picture, the x axis should be the time, the y axis should be depth and the graph legend shows the temperature range. Your advice will help me tons
1 个评论
John D'Errico
2018-10-20
Please don't post a duplicate question just to attach the same image in two different ways.
采纳的回答
jonas
2018-10-20
编辑:jonas
2018-10-20
Just create a surface object.
d = is your depth (1x38) t = is your time (1x3705) Te = is your temperature (3705x38)
surf(t,d,Te,'edgecolor','interp') set(gca,'YDir','reverse')
simple as that. I would consider first changing the time to a datetime or duration array.
2 个评论
jonas
2018-10-20
编辑:jonas
2018-10-20
set the view to
view([0 90])
I don't know why you spam the forum with this question. It's a very basic plot. You could also use pcolor, imagesc or contourf. The syntax is literally the same.
contourf(t,d,Te)
imagesc(t,d,Te)
pcolor(t,d,Te)
The image you uploaded is however not a contour plot. It is most likely a 3d plot.
更多回答(1 个)
Image Analyst
2018-10-20
I'd use imshow() with a colormap. If you need to digitize spatial data that is not yet on a regular grid, with values at every point, then you can use scatteredInterpolant. If you can't figure it out, attach your Z array in a .mat file.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Contour Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!