Stretch Yaxis to increase gap between data points in scatter plot
6 次查看(过去 30 天)
显示 更早的评论
Hi,
I would like to create a plot similar to the one inserted below (see black and white figure). In my attempts at reproducing the plot the datapoints are too close together along the Yaxis (see colored figure inserted below). Would anyone be able to point me into the right direction for solving this? I would be extrmeely grateful!
For reference, this is the code I am using for the plot:
figure
% Model{x} the result of a regression model
h = plot(Model{1}.Coefficients.Estimate(2), 1, '*')
hc = h.Color;
sd_vct = Model{1}.coefCI;
errorbar(Model{1}.Coefficients.Estimate(2),1,sd_vct(2,1), 'horizontal','color', hc);
xlim([-0.5 0.5])
% set(gca,'ytick',linspace(0,147,13))
hold on
for k = [1:147]; % 1:147;
h = plot(Model{k}.Coefficients.Estimate(2), k, '*') % spaceInPlot(k)
hc = h.Color;
sd_vct = Model{k}.coefCI;
errorbar(Model{k}.Coefficients.Estimate(2),k,sd_vct(2,1), 'horizontal','color', hc);
end
hold off
![Milberg_reprod_avswh.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200452/image.png)
![Milbergetal_copy.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200453/image.png)
0 个评论
采纳的回答
Adam
2019-1-9
编辑:Adam
2019-1-9
Your y position is just specified as being k, which increments in steps of 1. Just change to using something else, e.g. 3*k in:
errorbar( Model{k}.Coefficients.Estimate(2), 3*k, sd_vct(2,1), 'horizontal','color', hc );
or whatever you want. You have complete control over that y value for each plot.
Or just resize your figure, because whatever the y spacing, if you have to fit 150 plots on top of each other in the same space then they will still take up the same room irrespective of the y distance.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!