【发布时间】:2012-03-11 19:49:35
【问题描述】:
使用pch 我可以绘制任何符号并在图例中分配任何标签。但是如何为每个图例标签绘制两个符号?例如,在下面的图中,我希望将 ■ ▲ ● 与红色版本配对,因此对于这六个符号,我在图例中只显示了三个标签“a”、“b”、“c”。目前,基本的情节图例似乎只允许我为每个标签绘制一个符号:
plot(rnorm(50),pch=c(15:17),col=1:2)
legend('topleft',pch=c(15:17),col=1:2,legend=c("a","b","c"),cex=1.5)
【问题讨论】:
-
是什么阻止您使用
points()和text()的组合自己构建图例? (或者这是一个“可接受的”解决方案?)另一个想法是使用ggplot2和discrete和color规模。 -
@chl:您的第一点 - 我认为更强大/自动的解决方案是可能的。你的第二点 - 老实说,我不喜欢 ggplot2,因为默认情况下它会增加很多图表垃圾,所以我避免使用它。也许你对 lattice/grid 有类似的想法?
-
嗯。我想知道是否可以调整 ggplot2 主题以使您更快乐。除了背景和网格线,你认为什么是图表垃圾?虽然我认为下面@Josh O'Brien 提供的格子解决方案应该很适合您。
-
我不得不问:这真的是呈现数据的最佳方式吗?您仍然需要为每个“a”“b”“c”呈现不同颜色的含义,所以为什么不在图例中的 abc 旁边使用非填充字符,然后在此处或其他地方解释黑色之间的区别和红色。
-
这是绝对有效的问题@Carl,我不得不承认空点是我最初的策略。但是我有一个相当有问题的合作者对此有不同的看法,对于这个人来说,传说应该完全代表情节上的要点。我的另一个选择是为每种情况设置单独的图例。混蛋……
标签: r plot symbols data-visualization legend