How to make a graph that shows evolution of a variable in time through different depths in a lake.

10 ビュー (過去 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
John D'Errico 2018 年 10 月 20 日
Please don't post a duplicate question just to attach the same image in two different ways.

サインインしてコメントする。

採用された回答

jonas
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 件のコメント
Marmar
Marmar 2018 年 10 月 20 日
Thanks but it gives me a 3D plot, I need a 2D plot like the example I sent.
jonas
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
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.
  1 件のコメント
Marmar
Marmar 2018 年 10 月 20 日
Thanks, but it does not give me the data I want. I am sure I shoud use contourf, but I don't know how to use it :(

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLighting, Transparency, and Shading についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by