3D Plot - term structure
2 views (last 30 days)
Show older comments
Hi there,
I am trying to do a figure similar to the one attached.
I have exactly a (224x1) vector with dates (x-axis), a (10x1) vector with maturities (y-axis) and a (224x10) matrix with the values (z-axis).
How can I combine this to make a plot like the one attached?
Thanks, V
0 Comments
Accepted Answer
pfb
on 27 Apr 2015
That is a mesh plot.
% here I'm making up data with the same sizes as yours
dates = 1:224;
maturities = (1:10)';
values=rand(224,10);
% here I'm plotting the mesh plot. Of course you'll use your data
mesh(maturities,dates,values);
% if you need to swap the axes then go
mesh(dates,maturities,values');
You can consider using the surf function instead of mesh. Another option is waterfall. Type "help mesh" (and in general "help function") to get the documentation.
2 Comments
pfb
on 27 Apr 2015
oh, I forget the axes labels. You get those as follows
xlabel('maturities');
ylabel('dates');
zlabel('values');
Of course you have to set xlabel and ylabel according to the order you chose.
Youssef Khmou
on 27 Apr 2015
Edited: Youssef Khmou
on 27 Apr 2015
the third option is using surfc function which is the same as surf plus a contour plot in the z=0 plane.
More Answers (0)
See Also
Categories
Find more on Surface and Mesh 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!