从.fig文件增加散点图标记大小

Dex*_*ers 3 matlab command resize scatter-plot

我有一个图形文件(scatter.fig).该图有许多使用scatter()的散点图绘制器.现在我只有这个图文件,我需要增加所有散点的标记大小.尝试手动,但非常困难.有没有办法可以做H = figurehandle()s = points(h)set(s,'markersize');

我只是无法弄清楚确切的命令.

谢谢.

H.M*_*ter 6

您需要获取散射组对象的句柄以更改标记属性.正如Jonas在评论中提出的那样,你可以轻松搞定

   % get handle to scattergroup object
   h = gco;
Run Code Online (Sandbox Code Playgroud)

由于散点图组是轴的子节点,因此您也可以获取它

% get handle to scattergroup object
h = get(gca,'children');
Run Code Online (Sandbox Code Playgroud)

如果图像包含多个图形对象(例如,附加行),则该命令findall可能有帮助(同样是Jonas的建议).使用此命令,您可以搜索具有特定属性的图形对象的句柄:

h = findall(gca,'marker','o')
Run Code Online (Sandbox Code Playgroud)

当您拥有散子组的句柄时,可以更改标记的属性

% change size of markers 
set(h, 'sizedata', 50)
Run Code Online (Sandbox Code Playgroud)

要查看可以更改的散点组属性的完整列表,请使用

get(h)
Run Code Online (Sandbox Code Playgroud)

或者用于显示属性使用的GUI

inspect(h)
Run Code Online (Sandbox Code Playgroud)

如果您只想编辑单个绘图(即不需要编写脚本),可以通过单击工具栏上的鼠标按钮然后单击绘图中的一个标记(Jonas再次建议)来编辑实际图形.然后右键单击标记,选择"属性",然后按"更多属性"按钮.在打开的UI中,将条目"sizeData"更改为您选择的值.

  • 我建议使用更强大的方法来获取散子组的句柄.选择散点组(单击图工具栏中的鼠标按钮,然后单击该组),并将句柄设置为`h = gco`,或使用具有该组特定特征的`findall`,例如标记是圆圈,使用`h = findall(gca,'marker','o')` (2认同)
  • 我的回答只是你的副本略有改进.只需编辑你的答案. (2认同)