从.FIG文件增加散点标记大小(Increasing scatter points marker s

2019-09-17 04:55发布

我有一个数字文件(scatter.fig)。 这个数字有很多散点使用绘图仪散射()。 现在我只是有这个图文件,我需要增加所有散点的标记大小。 手动,但其很难尝试它。 有没有一种方法,我可以这样做H = figurehandle()S =点(H)组(S, 'markersize');

我只是无法找出确切的命令。

谢谢。

Answer 1:

你需要得到一个句柄scattergroup对象来更改标记属性。 作为一个评论提出的乔纳斯,你可以轻松地得到它

   % get handle to scattergroup object
   h = gco;

由于散射组是轴的孩子,你也可以通过把它

% get handle to scattergroup object
h = get(gca,'children');

如果图像包含一个以上的图形对象(例如,其他行),该命令findall可能的帮助(再次乔纳斯建议)。 用这个命令你可以搜索句柄与特定属性的图形对象:

h = findall(gca,'marker','o')

当你有一个句柄scattergroup,您可以通过更改标记的属性

% change size of markers 
set(h, 'sizedata', 50)

要查看scattergroup属性的完整列表,可以改变使用

get(h)

或用于GUI显示的属性使用

inspect(h)

如果你只是想编辑一个图(即无需脚本),你可以通过点击工具栏上的鼠标按钮,然后在图(又被乔纳斯建议)上的一个标志点击编辑实际数字。 然后你在标记上单击鼠标右键,选择“属性”,然后你按下按钮“更多属性”。 在打开的界面更改条目“sizeData”为您选择的值。



Answer 2:

编辑:1在情况下, XY数据不可用

我试图找到手柄markersize ,但我不能。 所以,我设计了一个替代方法。 如果我们有这个数字文件,那么我们就可以直接将XY从图中的数据,并重新绘制采用数字scatter新的标记大小。 这是下面的代码。

clear all
X=rand(100,1);
Y=rand(100,1);
scatter(X,Y,10) 
saveas(gcf,'SO_scatterQ.fig')
clear all
close all
%%%%%% THE CODE ABOVE JUST GENERATES A SCATTER .fig FILE WITH BLACKBOX PROPERTIES %%%%%
openfig('SO_scatterQ.fig')
Xdata_retrieved = get(get(gca,'Children'),'XData');
Ydata_retrieved = get(get(gca,'Children'),'YData');
scatter(Xdata_retrieved,Ydata_retrieved,20) % You can use any other marker size you wish to use

虽然,我欢迎,如果有人张贴的答案,直接得到该手柄markersize财产。



文章来源: Increasing scatter points marker size from a .fig file