arrange multiple 2D histograms in 3D

4 次查看(过去 30 天)
I am wondering how I can draw this figure with Matlab. Please help!

回答(1 个)

Duncan Po
Duncan Po 2016-7-14
You can use the hist function to plot one histogram, then grab its vertices from the resulting patch object. Pass these vertices to the patch function and add a Z component to it. Like this:
hist(randn(100,1));
h = get(gca,'Children');
x = h.Vertices(:,1);
y = h.Vertices(:,2);
z = 3*ones(size(x));
close all
hist(randn(100,1)+2);
h = get(gca,'Children');
x2 = h.Vertices(:,1);
y2 = h.Vertices(:,2);
z2 = 6*ones(size(x2));
close all;
patch(x,y,z, 'r'); hold on; patch(x2,y2,z2, 'b'); view(3)
% now rotate as desired

类别

Help CenterFile Exchange 中查找有关 Discrete Data Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by