2014-09-25 59 views
0

我有一些问题需要指出确定平滑曲线的具体点,特别是那些具有5级(值为1到6)的“stadio”as.factor的信息,其他所有点都是NA。错误:提供给连续标度的离散值与值被视为一个因素?

srt(tab1a) 

'data.frame': 870 obs. of 11 variables: 
$ mese  : Factor w/ 11 levels "agiu","blug",..: 1 1 1 1 1 1 1 1 1 1 ... 
$ sito  : Factor w/ 2 levels "sin","tav": 2 2 2 2 2 2 2 2 2 2 ... 
$ area  : Factor w/ 2 levels "a","b": 1 1 1 1 1 1 1 1 1 1 ...` 
$ staz  : Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ... 
$ classe : Factor w/ 3 levels "g","m","p": 1 1 1 1 1 1 1 1 2 2 ... 
$ taglia : num 59 62 62 65 68 54 51 58 45 45 ... 
$ p_umido : num 83.2 97.8 100.2 102.1 130.3 ... 
$ p_umido_go: Factor w/ 563 levels "0.008","0.01",..: 525 558 458 506 485 402 378 521 358 240 ... 
$ igs  : num 8.34 9.49 5.39 6.13 4.49 6.22 6.6 8.16 8.92 5.63 ... 
$ sesso  : Factor w/ 2 levels "f","m": NA 2 2 2 NA NA NA NA NA NA ... 
$ stadio : Factor w/ 5 levels "1","3","4","5",..: NA 4 4 5 NA NA NA NA NA NA ... 


plot.tav1 <- qplot(taglia, igs, data=tab1a[1:84, ],col=mese, geom=c("smooth"), span=0.5) 

plot.tav1 + layer(geom="point", size=4) + 
    scale_colour_gradient("stadio", low="blue", high="white", na.value = "grey50") 

这是我的代码来表示的曲线,当我添加的“scale_colour_gradient”的最后部分出现错误。

+0

'mese'是一个因素(即离散的值)。您需要使用不同的色阶(scale_color_manual)并指定您想要使用的颜色。 – hrbrmstr 2014-09-25 10:40:38

回答

0

是这样的:

set.seed(1492) 

# make some similar data 
tab1a <- data.frame(
    mese=sample(LETTERS[1:11], 84, replace=TRUE), 
    taglia=runif(84, 50, 70), 
    igs=runif(84, 5, 10)) 

tab1a_colors <- colorRampPalette(c("white", "blue"))(11) 

gg <- ggplot(data=tab1a, aes(x=taglia, y=igs, color=mese)) 
gg <- gg + geom_smooth(span=0.5) 
gg <- gg + geom_point(size=4) 
gg <- gg + scale_color_manual(name="stadio", values=tabla_colors) 
gg <- gg + theme_bw() 
gg 
相关问题