ggplot2多面线图的线条区域内填充了纯色,为什么?

She*_*ene 5 r ggplot2

我对使用facet的线图的奇怪结果有疑问.我有不同深度(=压力)的水数据测量.数据如下表所示:

Pressure Temperature pH
0        30          8.1
1        28          8.0
Run Code Online (Sandbox Code Playgroud)

我"融化"这些数据以产生:

Pressure variable    value
0        Temperature 30
1        Temperature 30
0        pH          8.1
1        pH          8.0
Run Code Online (Sandbox Code Playgroud)

等等.我现在想这个:

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())
Run Code Online (Sandbox Code Playgroud)

它有点工作,除了线图的部分填充纯色.我不知道为什么,特别是因为如果我用y交换x并使用"variable~"它就可以正常工作.作为facet_grid公式. 怪异的情节

San*_*att 10

注意相同数据之间的区别geom_linegeom_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() 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

请注意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
Run Code Online (Sandbox Code Playgroud)

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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述