如何在 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 的散点图中增加图例的标记大小? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

matlab散点矩阵图

在基础R的散点图中转换图例的形状和颜色

2018-10-31用R绘制散点图矩阵(成对的散点图)

R语言ggplot2可视化:ggplot2可视化分组散点图并使用geom_smooth函数在散点图图中为不同的散点簇添加对应的回归曲线

如何在python的散点图中添加具有不同标记的多个图例?

如何在python中的散点图中平滑数据点?