【发布时间】:2012-11-02 09:28:37
【问题描述】:
是否有可能在 R 中自动生成图例?真正让我烦恼的一件事是冗余信息,我必须输入这些信息才能显示图例(例如线条颜色......)
plot(
c(1:5), c(.7, 2.2, 3.1, 3.9, 5.2),
col=1,
pch=3,
type="b"
)
lines(
c(1:5), c(1:5),
col=2,
pch=6,
type="o"
)
legend(
"topleft",
legend=c("data", "expactation"),
col=c(1, 2),
pch=c(3, 6),
lty=c(2 ,1)
)
我已经在命令plot 和lines 中提供了有关线条颜色的信息...。如果我不必在图例中再次添加此信息,那就太好了。
例如,是否可以将“lines”-Object 和“plot”-object 存储在一个变量中,并且只将这些对象传递给 legend(其中 legend 找到所需信息)?
p = plot(...)
l = lines (...)
legend("topleft", p, l)
【问题讨论】:
-
试试看
ggplot2 -
如答案所示,您需要做很多工作。考虑到您可以选择创建一个具有与图表本身不同大小的符号(或线宽)的图例,以便清楚起见,或者您可能希望指示所有虚线,无论颜色如何,都引用一组变量等。所以首先,您不太可能拥有通用的“自动图例”格式。在这方面,R 比 E--l(一个未命名的电子表格应用程序)要好得多。