matlab - 如何增加 MATLAB 2014b 散点图中图例的标记大小?

标签 matlab legend scatter legend-properties matlab-hg2

<分区>

我发现散点图中的标记大小和 MATLAB 2014b 中的图例不同。我搜索并找到了一些来自早期版本的 MATLAB 的解决方案,这些解决方案不适用于最新版本。在我目前的版本中,图例中的标记尺寸非常小,几乎无法区分。有帮助吗?

figure; 
hold on 
s1 = scatter(1, 1, 150, 'k', 'o') 
s2 = scatter(1, 2, 150, 'k', '+') 
s3 = scatter(2, 1, 150, 'k', 'x') 
h = legend('Circle', 'Plus', 'X', 'Location', 'NorthEast'); 
set(h, 'FontSize', 14) 
axis([0 3 0 3]) 

散点图和图例中的标记大小不同。如何增加图例条目的标记大小并使其与散点图的标记大小相似。

最佳答案

如果我没理解错的话,您想访问 legend 调用的 icons 输出并修改补丁对象的 MarkerSize 属性是这些图标的子项。

调用图例:

[h,icons,plots,legend_text] = legend('Circle', 'Plus', 'X', 'Location', 'NorthEast'); 

icons 是一个 6x1 图形数组,如下所示:

icons = 

  6x1 graphics array:

  Text     (Circle)
  Text     (Plus)
  Text     (X)
  Group    (Circle)
  Group    (Plus)
  Group    (X)

您需要的是与 Group 关联的元素。

如果您查看它们的属性(此处为 icons(4)),您会得到:

icons(4)

 Group (Circle) with properties:

    Children: [1x1 Patch]
     Visible: 'on'
     HitTest: 'off'

  Show all properties

所以有一个补丁对象作为它的子对象与之关联。你想修改它使用例如

icons(Some index).Children.MarkerSize

在您的情况下,您需要修改对象 4 到 6:

for k = 4:6
icons(k).Children.MarkerSize = 20;
end

哪些输出:

enter image description here

您当然可以自动执行此操作。我使用的是 R2015a,因此我希望 R2014b 的行为相同。

希望这就是你的意思!

关于matlab - 如何增加 MATLAB 2014b 散点图中图例的标记大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32654300/

相关文章:

python - Matplotlib 散点图,在子图中具有标准化颜色图

matlab - 为什么 Arrayfun 在使用 GPU 时比 for 循环快得多?

arrays - 使用索引值的环移

r - 无边框且白色背景的图例

python - Plotly:如何自定义图例?

python - 如何更改图例中散点标记的大小?

python - Matplotlib:将一组散点图数据带到前面

.net - matlab 下载谷歌趋势 csv

qt - 如何将matlab与QT集成

python散点图面积大小比例 Axis 长度