How to plot 3 variables (3rd variable on the colorbar)?
16 views (last 30 days)
Show older comments
I have three variables (below). I wonder on how will I plot it to achieve something similar with the attached picture?
X = day in a year (1 to 365) --> in days
Y = time in a day (1 up to 24) --> in hours
Z = load data in kW say for example
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/220982/image.png)
0 Comments
Accepted Answer
Star Strider
on 25 May 2019
Edited: Star Strider
on 25 May 2019
That looks like a surf plot, using
view(0,90)
to create a 2D plot from it.
How you plot it depends on how your data are organised. The surf function plots a matrix as the third argument, although the first two arguments can be vectors.
EDIT —
Your data are gridded. You can convert them into matrices needed for the surf function using the reshape (link) function, specifically:
D = xlsread('YourFile.xls'); % Use The Appropriate Function To Import Your Data
Xm = reshape(D(:,1), 24, []);
Ym = reshape(D(:,2), 24, []);
Zm = reshape(D(:,3), 24, []);
figure
surf(Xm, Ym, Zm)
view(0,90)
grid on
colorbar
4 Comments
More Answers (1)
Image Analyst
on 25 May 2019
You can make an image. If you don't have data for every x and y then use scatteredInterpolant. Then use imshow(Z) and colormap(jet(256)); to plot it.
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!