MATLAB Answers

0

Creating plot over the Box plot

Asked by Minha Ferouz on 19 Jun 2018
Latest activity Edited by Minha Ferouz on 20 Jun 2018
Hi Friends,
A = 4; B = 6; C = 8; D = 9;
values = [A;B;C;D]
Y = [500];
labels = {'a','b','c','d','e'}
figure
hold on
boxplot(values,Y);
plot(Y,values,'r*')
I'm trying to use hold on to view plot (*) on the boxplot. But, it doesn't work well and I only see box plot not the plot over it.
Thanks

  0 Comments

Sign in to comment.

Tags

1 Answer

Answer by Jeffrey Eymer on 19 Jun 2018
 Accepted Answer

You are misunderstanding how the arguments to boxplot are used. boxplot(values, [500]) does not actually move the box plot to the x-value of 500, rather it just labels the box plot with an x-value of 500. The box plot itself still resides at x=1.
To accomplish what you are trying to do, replace the line with
boxplot(values, Y, 'positions', Y);
The 'positions' argument designates where the box plot will actually be placed on the graph.

  2 Comments

Thanks Jeffrey. It worked. I also find another way to set x-axis using
hAx = gca;
xtk=hAx.XTick;
hold on
hl = plot(xtk,A,'r*')
Could you also tell me how I can set 'labels' against each data point on boxplot?
for t = 1:5
text(Y,A(t),labels(t))
end
Used this and it seems to be working fine. The only problem I have now is that the labels are not readable and appear over the data points.

Sign in to comment.