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

15 ビュー (過去 30 日間)
Marmar
Marmar 2018 年 10 月 20 日
編集済み: jonas 2018 年 10 月 20 日
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 件のコメント
jonas
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 :(

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

Community Treasure Hunt

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

Start Hunting!

Translated by