3d BAR GRAPH WITH ERROR

6 views (last 30 days)
Jaspreet Kaur
Jaspreet Kaur on 29 Oct 2021
Commented: Jaspreet Kaur on 29 Nov 2021
Hi,
I am trying to plot 3D bar graph with x_true , y_true coordinates and error percentage. I tried stem, meshgrid, bar3 etc, but not able to do so. can anyone assist me to plot the graph?
figure
x_pred = Net_Out(1,:);
y_pred = Net_Out(2,:);
%
x_true = correct_output(:,1);
y_true = correct_output(:,2);
err = sqrt((x_pred - x_true).^2 + (y_pred - y_true).^2);
figure
meshgrid(x_true, y_true, err);
% figure
% percent_er = 100*errorbar((x_pred - x_true),(y_pred - y_true),err);
% figure
% bar3(err)

Answers (1)

Alamanda Ponappa Poovaya
Alamanda Ponappa Poovaya on 1 Nov 2021
I understand you want to create 3D plot of the errors vs x_true and y_true.
First of all, based on the code you have provided, the dimensions of x_pred and y_pred do not match those of x_true and y_true.
You can try evaluating x_pred and y_pred as below
x_pred = (Net_Out(1,:))';
y_pred = (Net_Out(2,:))';
For this kind of plot, using stem3 would provide the kind of plot you are expecting
stem3(x_true, y_true, err);
Documentation :
  5 Comments
Alamanda Ponappa Poovaya
Alamanda Ponappa Poovaya on 12 Nov 2021
It requires a bit of a workaround, but the answer below does what you are asking for
Jaspreet Kaur
Jaspreet Kaur on 29 Nov 2021
I am trying to get surface plot with same data showe earlier. can you help ?
x_pred = (Net_Out(1,:))';
y_pred = (Net_Out(2,:))';
x_true = correct_output(:,1);
y_true = correct_output(:,2);
err = sqrt((x_pred - x_true).^2 + (y_pred - y_true).^2);
figure
stem3(x_true, y_true, err,'Marker','none', 'LineWidth', 1)
xlabel('x'); ylabel('y'); zlabel('err');
surf (x_true, y_true, err)

Sign in to comment.

Categories

Find more on Discrete Data 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!