【发布时间】:2015-08-12 07:48:20
【问题描述】:
我想为x-axis 上的col1 和x-axis 上的col1 上的col2 上的col2 绘制不同长度的三个数据帧df1、df2、df3。
# Data
set.seed(123)
df1<-data.frame(col1=sample(LETTERS[1:10], 10, replace=FALSE), col2=sample(c(1:26),10))
> df1
col1 col2
1 C 25
2 H 12
3 D 17
4 G 14
5 F 3
6 A 19
7 J 5
8 I 1
9 B 6
10 E 24
df2 <- data.frame(col1=sample(LETTERS[1:10], 5, replace=FALSE), col2=sample(c(1:26),5))
> df2
col1 col2
1 I 19
2 G 14
3 F 15
4 J 7
5 D 4
df3 <- data.frame(col1=sample(LETTERS[1:10], 8, replace=FALSE), col2=sample(c(1:26),8))
> df3
col1 col2
1 J 9
2 I 6
3 F 4
4 H 10
5 A 23
6 C 8
7 D 24
8 G 3
# plotting
lab.min <- min(c(df2$col2, df1$col2, df3$col2), na.rm = T)
lab.max <- max(c(df2$col2, df1$col2, df3$col2), na.rm = T)
plot(df1$col1, df1$col2, type='o', pch=0, las=2, ylim=c(lab.min, lab.max))
lines(df2$col1, df2$col2, type='o', pch=2)
lines(df3$col1, df3$col2, type='o', pch=8)
# add a legend
legend(0, 20, c('df1','df2','df3'), cex=0.8, pch=c(0,2,8), title="df")
abline(h=5)
从图中,我可以观察到这些行没有从所有数据框中获取相同的 col1 值。所有三个数据框在col1 中都有值J,但该图仅显示来自df1 的值。您能否建议如何克服这个问题?
【问题讨论】:
-
你能详细说明你想要的输出是什么吗?我不清楚你所说的“线条没有采用 col1 值”是什么意思。 df1 的表示是错误的,还是 df2 和 df3 的表示错误?