首页 文章

ggplot2_Error:geom_point需要以下缺失的美学:y

提问于
浏览
6

我试图在RStudio中运行rWBclimate包 . 我从ROpenSci复制了以下代码并粘贴在RStudio中 . 但我得到错误说'Don'知道如何自动选择类型列表对象的比例 . 默认为连续错误:geom_point需要以下缺失的美学:y

gbr.dat.t <- get_ensemble_temp("GBR", "annualavg", 1900, 2100)

## Loading required package: rjson

### Subset to just the median percentile
gbr.dat.t <- subset(gbr.dat.t, gbr.dat.t$percentile == 50)
## Plot and note the past is the same for each scenario
     ggplot(gbr.dat.t,aes(x=fromYear,y=data,group=scenario,colour=scenario))    
+ geom_point() +
geom_path() +
theme_bw() +
xlab("Year") +
ylab("Annual Average Temperature in 20 year increments")

我也尝试以下列方式使用geom_point(stat =“identity”)但不起作用:

ggplot(gbr.dat.t,aes(x=fromYear,y=data,group=scenario,colour=scenario))    
+ geom_point(stat="identity") +
geom_path() +
theme_bw() +
xlab("Year") +
ylab("Annual Average Temperature in 20 year increments")

我仍然得到相同的消息“不知道如何自动选择类型列表对象的比例 . 默认为连续错误:geom_point需要以下缺少美学:y”

另外,str(gbr.dat.t)的结果如下:

> str(gbr.dat.t)
'data.frame':   12 obs. of  6 variables:
$ scenario  : chr  "past" "past" "past" "past" ...
$ fromYear  : int  1920 1940 1960 1980 2020 2020 2040 2040 2060 2060 ...
$ toYear    : int  1939 1959 1979 1999 2039 2039 2059 2059 2079 2079 ...
$ data      :List of 12
..$ : num 9.01
..$ : num 9.16
..$ : num 9.05
..$ : num 9.36
..$ : num 10
..$ : num 9.47
..$ : num 9.92
..$ : num 10.7
..$ : num 10.3
..$ : num 11.4
..$ : num 12.1
..$ : num 10.4
$ percentile: int  50 50 50 50 50 50 50 50 50 50 ...
$ locator   : chr  "GBR" "GBR" "GBR" "GBR" ...

寻找您的有用答案 .

1 回答

  • 7

    希望这可以帮助 . 我所做的只是将gbr.dat.t $数据转换为数字向量

    library('rWBclimate')
    library("ggplot2")
    
    gbr.dat.t <- get_ensemble_temp("GBR", "annualavg", 1900, 2100)
    
    ## Loading required package: rjson
    
    ### Subset to just the median percentile
    gbr.dat.t <- subset(gbr.dat.t, gbr.dat.t$percentile == 50)
    
    #This is the line you were missing
    gbr.dat.t$data <- unlist(gbr.dat.t$data)
    
    ## Plot and note the past is the same for each scenario
    ggplot(gbr.dat.t,aes(x=fromYear,y=data,group=scenario,colour=scenario)) + geom_point() +
      geom_path() +
      theme_bw() +
      xlab("Year") +
      ylab("Annual Average Temperature in 20 year increments")
    

相关问题