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

28 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

jonas
jonas il 20 Ott 2018
Modificato: jonas il 20 Ott 2018

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 Commenti
jonas
jonas il 20 Ott 2018
Modificato: jonas il 20 Ott 2018
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.

Accedi per commentare.

Più risposte (1)

Image Analyst
Image Analyst il 20 Ott 2018
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.

Categorie

Scopri di più su Contour Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by