如何在 MATLAB 2014b 的散点图中增加图例的标记大小? [复制]
Posted
技术标签:
【中文标题】如何在 MATLAB 2014b 的散点图中增加图例的标记大小? [复制]【英文标题】:How to increase marker size of the legend in scatter plot in MATLAB 2014b? [duplicate] 【发布时间】:2015-12-15 17:42:18 【问题描述】:我在散点图中发现了标记大小,并且图例在 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])
散点图和图例中的标记大小不同。如何增加图例条目的标记大小并使其与散点图相似。
【问题讨论】:
你能用图片/代码告诉我们你的意思吗? 你有什么不喜欢的?我在我的传说中看到了一些大标记。 @AnderBiguri 图例的FontSize
属性仅控制文本。图例中的标记大小不会改变。
我想增加与散点图中相同的标记大小!
@AnderBiguri 我不会说它是重复的。虽然使用icons
是相同的方法,但修改LineWidth
不会影响带有标记的图例。
【参考方案1】:
如果我理解正确,您希望访问对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 的行为相同。
希望这就是你的意思!
【讨论】:
在 R2015a 中不起作用以上是关于如何在 MATLAB 2014b 的散点图中增加图例的标记大小? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
R语言ggplot2可视化:ggplot2可视化分组散点图并使用geom_smooth函数在散点图图中为不同的散点簇添加对应的回归曲线