0

我有一个格式的 csv

latency1, latency2, test-type
1.3233831,1.0406423,A
1.6799337,1.1520619,A
1.6301824,1.1536479,B
2.3465363,1,2346457,C
1.2452355,1.9987547,C
...

我想绘制三个不同的图:A 类型的一个具有latency1 与latency2 的图,B 类型具有latency1 与latency2 的一个,C 类型具有latency1 与latency2 的一个。我知道如何在同一图表上绘制不同的数据集,但是不是如何像这样将一个数据框拆分为多个图。我是R新手,对不起。提前致谢。:)

4

2 回答 2

2

lattice包中的绘图函数具有公式接口,其|运算符允许您指示用于将数据拆分为单独绘图的“格”或“格”的条件变量。

试试这个,例如:

## Read in your data
df <- read.table(text="latency1, latency2, testType
1.3233831,1.0406423,A
1.6799337,1.1520619,A
1.6301824,1.1536479,B
2.3465363,1.2346457,C
1.2452355,1.9987547,C", header=T, sep=",")


library(lattice)
xyplot(latency2 ~ latency1 | testType, data = df, type = "b")
于 2012-07-31T18:15:59.563 回答
1

分面图

刻面图

代码

如果您想这样做ggplot2

library(ggplot2)

df = read.table(text='latency1,latency2,testtype
1.3233831,1.0406423,A
1.6799337,1.1520619,A
1.6301824,1.1536479,B
2.3465363,1.2346457,C
1.2452355,1.9987547,C', 
                header=TRUE, sep=',')

p = ggplot(data = df, 
           aes(x = latency1, y = latency2, colour = testtype)) +
    geom_point() +
    facet_grid( . ~ testtype )

p
于 2012-07-31T18:26:17.893 回答