我有两个数据框我想相互绘制:
> df1 <- data.frame(HV = c(3,3,3), NAtlantic850t = c(0.501, 1.373, 1.88), AO = c(-0.0512, 0.2892, 0.0664))
> df2 <- data.frame(HV = c(3,3,2), NAtlantic850t = c(1.2384, 1.3637, -0.0332), AO = c(-0.5915, -0.0596, -0.8842))
它们是相同的,我想绘制它们的列与列(例如 df1$HV、df2$HV) - 遍历数据框列并将它们在散点图中相互绘制。
我已经浏览了 20 多个询问类似问题的问题,但无法弄清楚 - 希望从哪里开始提供一些帮助。当它们是两个 DF 时,我可以使用 lapply 和 plot 或 ggplot 吗?我应该先合并它们吗?
正如您所建议的,在调用 plot 命令之前,我确实会首先重新排列为可绘制的数据框列表。我认为,如果您想将data
论点放入ggplot
. 就像是:
plot_dfs <- lapply(names(df1),function(nm)data.frame(col1 = df1[,nm], col2 = df2[,nm]))
for (df in plot_dfs)plot(x = df[,"col1"], y = df[,"col2"])
或使用 ggplot:
for (df in plot_dfs){
print(
ggplot(data = df, aes(x=col1, y=col2)) +
geom_point())}
如果要将列名称添加为绘图标题,则可以执行以下操作:
for (idx in seq_along(plot_dfs)){
print(
ggplot(data = plot_dfs[[idx]], aes(x=col1, y=col2)) +
ggtitle(names(df1)[idx]) +
geom_point())}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句