我对使用facet的线图的奇怪结果有疑问。 我有不同深度(=压力)的水数据测量。数据如下表所示:
Pressure Temperature pH
0 30 8.1
1 28 8.0
我“融化”这些数据以产生:
Pressure variable value
0 Temperature 30
1 Temperature 30
0 pH 8.1
1 pH 8.0
等等。我现在想这个:
ggplot(data.m.df, aes(x=value, y=Pressure)) +
facet_grid(.~variable, scale = "free") +
scale_y_reverse() +
geom_line() +
opts(axis.title.x=theme_blank())
它有点工作,除了线图的部分填充纯色。我不知道为什么,特别是因为如果我用y交换x并使用“variable~”它就可以正常工作。作为facet_grid公式。
答案 0 :(得分:10)
请注意应用于相同数据的geom_line
和geom_path
之间的差异。
library(ggplot2)
x = c(seq(1, 10, 1), seq(10, 1, -1))
y = seq(0, 19, 1)
df = data.frame(x, y)
ggplot(df, aes(x, y)) + geom_line()
ggplot(df, aes(x, y)) + geom_path()
请注意df
数据框中的顺序。
x y
1 1 0
2 2 1
3 3 2
4 4 3
5 5 4
6 6 5
7 7 6
8 8 7
9 9 8
10 10 9
11 10 10
12 9 11
13 8 12
14 7 13
15 6 14
16 5 15
17 4 16
18 3 17
19 2 18
20 1 19
geom_path
按照观察顺序绘制。
geom_line
按x值的顺序绘制。
当x值更接近时,效果会更明显。
x = c(seq(1, 10, .01), seq(10, 1, -.01))
y = seq(.99, 19, .01)
df = data.frame(x, y)
ggplot(df, aes(x, y)) + geom_line()
ggplot(df, aes(x, y)) + geom_path()