如何增加 MATLAB 2014b 散点图中图例的标记大小?
How to increase marker size of the legend in scatter plot in MATLAB 2014b?
我发现散点图中的标记大小和 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
属性这些图标。
致电legend
:
[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
输出:
您当然可以自动执行此操作。我使用的是 R2015a,所以我希望 R2014b 的行为相同。
希望这就是你的意思!
我发现散点图中的标记大小和 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
属性这些图标。
致电legend
:
[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
输出:
您当然可以自动执行此操作。我使用的是 R2015a,所以我希望 R2014b 的行为相同。
希望这就是你的意思!