用多因子生成R中的单个点图

时间:2011-04-12 15:28:04

标签: r graphics graph plot ggplot2

我正在尝试生成一个单独的点图,其中R中的多个因子与minitab生成的因子类似。

我已经能够在R中生成单个点图,但我无法弄清楚如何在x轴上添加分组。例如,我有一个颜色和类型,我想在x轴上显示,每个类型有两种颜色,我想这个放在同一个图上,但无法弄清楚点图。

结果应该看起来与这个分组类似,但是相反的是一个点图,只有一个图,我只是想说明分组。

http://ajpendo.physiology.org/content/280/5/E804/F6.small.gif

抱歉无法发布图片,过多的菜鸟堆叠:)

我在网上搜索过但找不到多少帮助。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您可以在R。

中以多种方式执行此操作

第一种是使用lattice包:

library(lattice)
xyplot(lat ~ long | cut(depth, 3),
        data = quakes, 
        aspect = "iso", 
        pch = ".", 
        cex = 2, 
        type = c("p", "g"), 
        xlab = "Longitude", 
        ylab = "Latitude", 
        strip = strip.custom(strip.names = TRUE, var.name = "Depth"))

enter image description here

第二个是ggplot:

library(ggplot2)
df <- quakes
df$cut_depth <- cut(quakes$depth, 3)
ggplot(quakes, aes(x=long, y=lat)) + geom_point() + facet_grid(.~cut_depth)

enter image description here

答案 1 :(得分:0)

您可以使用ggplot直接执行此操作。假设您有一个包含以下列的data.frame:

dta:= x,y,颜色,条件

其中x,y是数字和颜色,条件是因子。然后,您可以执行以下操作:

require(ggplot2)
ggplot(dta, aes(x = x, y = y, color = color)) + geom_point() + facet_wrap(~ condition)

或者,在常规R中你可以这样做:

plot(dta$x, dta$y, col = dta$color, pch = dta$condition)
然而,这可能太忙了。

吉姆