How can I adjust the position of a 'scattergroup' (scatter3) figure?
3 次查看(过去 30 天)
显示 更早的评论
I'm trying set the size/position of my 3d scatter plot, hopefully using something like the following:
figure('Position', [x y a b]) % or
set(fig, 'OuterPosition', [x y a b])
But, working with a scatter3 plot, I get the following error:
The name 'Position' is not an accessible property for an instance of class 'scattergroup'
I looked up the scattergroup class, and I noticed that there are no position properties in it. Does anyone know how can I modify the the size/position of my scatter3 object?
scat=scatter3(x,y,z,size,intensity)
Thank you!
0 个评论
采纳的回答
ChristianW
2013-2-6
scrsz = get(0,'ScreenSize');
set(gcf,'OuterPosition',[scrsz(3)/2 scrsz(2) scrsz(3)/2 scrsz(4)])
n = 20;
scatter3(rand(n,1),rand(n,1),rand(n,1),[],randi(3,n,1),'filled')
Ehehe, well I suspect your only fault was a wrong handle in your set position command. If you want to change figure properties, you've to give him the figure handle, not the plot handle.
更多回答(1 个)
ChristianW
2013-2-5
n = 20;
scatter3(rand(n,1),rand(n,1),rand(n,1),[],randi(3,n,1),'filled')
axp = get(gca,'Position');
set(gca,'Position',[0 0 axp(3:4)/3])
3 个评论
ChristianW
2013-2-5
Hi John, your trys with:
figure('Position', [x y a b]) % or
set(fig, 'OuterPosition', [x y a b])
should work. Whats your error or code?
For the "right half of the screen"-Position, you can try this:
scrsz = get(0,'ScreenSize');
figure('OuterPosition',[scrsz(3)/2 scrsz(2) scrsz(3)/2 scrsz(4)])
n = 20;
scatter3(rand(n,1),rand(n,1),rand(n,1),[],randi(3,n,1),'filled')
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Labels and Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!