Clear Filters
Clear Filters

How to draw 3D bar graph of Z for specified value of X and Y.

44 views (last 30 days)
Dear all, I want to plot a 3D bar graph for a given X, Y and Z row matrix. Actually I want to plot bar of Z for a specified coordinate of X and Y in X-Y plane. How to plot it please help me

Accepted Answer

Dimitris Kalogiros
Dimitris Kalogiros on 21 Aug 2018
Edited: Dimitris Kalogiros on 21 Aug 2018
I thing you should use stem3 command.
Have a look at the following example:
clear; close all; clc;
x = 0:1:10;
y = exp(2:-0.2:0);
z=sqrt(x)+2*((y.^2).^(1/3));
stem3(x,y,z, '-b','LineWidth',4);
xlabel('x'); ylabel('y'); zlabel('z');
zoom on; grid on;
stem3() produced "bar like" 3D graphs
  3 Comments
Dimitris Kalogiros
Dimitris Kalogiros on 22 Aug 2018
Edited: Dimitris Kalogiros on 22 Aug 2018
clear; close all; clc ;
% definition of x, y
x1 = 0:1:10 ;
y1 = 2:12;
% define a set of colors
rng(8881);
colorSet=[rand(1,length(x1)); (length(x1):-1:1)/length(x1); rand(1,length(x1))]';
% definition of z
z=zeros(length(x1),length(y1));
for q=1:length(x1)
x=x1(q);
for w=1:length(y1)
y=y1(w);
z(q,w)=sqrt(x)+2*((y.^2).^(1/3 ));
%color depends on x value
stem3(x,y,z(q,w), '-b','color',colorSet(q,:),'LineWidth',4);
hold on;
end
end
xlabel('x'); ylabel('y'); zlabel('z ')
zoom on; grid on;
Shashibhushan Sharma
Shashibhushan Sharma on 22 Aug 2018
Thank you sir, but still one question arise that why do we not plot it in bar graph.

Sign in to comment.

More Answers (1)

Shashibhushan Sharma
Shashibhushan Sharma on 30 Aug 2018
We can plot 3D bar graph in MATLAB for specific values of x and y as:
clearvars;close all;clc; x1=1:10;y1=0:0.1:1;z=zeros(length(y1), length(x1)); for a=1:length(x1) x=x1(a); for b=1:length(y1) y=y1(b); z(b,a)=((1/x)^2)+exp(y); end end bar3( z (:,:,1)); set(gca,'XTickLabel',x1) set(gca,'YTickLabel',y1)

Categories

Find more on Graphics Object Properties 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!