[R] filled contour plot with contour lines

David Winsemius dwinsemius at comcast.net
Fri Apr 1 23:59:51 CEST 2011


On Apr 1, 2011, at 5:38 PM, Steve_Friedman at nps.gov wrote:

> Hi Peter,
>
> Thanks for taking the time to consider the problem. I realize the  
> procedure
> is not reproducible. I use a 4 dimensional netCDF file (4.2 GB) in  
> size to
> pull data into this process. Nobody in their right mind should work  
> with
> such things. It's a spatial temporal database with 10 years of daily  
> data
> in a irregular area spanning 405 x 287 cells.
>
> Anyway, I tried your suggestion adding a { in front of the for loop  
> and a
> closing } following the last line.

That suggestion was probably intended to get you a more informative  
error message:

for(j in 1:(varsize[4]-1) )
      temp <- get.var.ncdf(
                    nc=input,
                    varid="p_foraging",
                    c(1,1,j),
                    c(varsize[1],  varsize[2], 1)
                         )

# I think Peter is correct. That loop will complete before the call to  
filled.contour,
#  so you will only have the last version of temp plot.

filled.contour(x, y, temp, color = terrain.colors,
      plot.title = title( main =
              paste("Everglades Wood Stork Foraging Potential \nYear",  
(2000+j)),

#that "double call" to title looks incomplete as well. The comma looks  
premature.
# Shouldn't it be something like:
  plot.title = bquote("Everglades Wood Stork Foraging Potential  
\nYear", .(2000+j) )

#(And since the for loop is already complete `j` will not exist.
# Which is probably the source of the error you are getting.)

             xlab = "UTM East", ylab = "UTM North") ,
             plot.axes = { contour(temp, add=T)
                axis(1, seq(450000 , 580000, by = 10000))
                axis(2, seq(2800000,4000000, by = 10000)) },
             key.title = title(main="Probability") ,
             key.axes = axis(4, seq(0 , 1 , by = 0.1))
>
> It did not work.
>
>
> Steve Friedman Ph. D.
> Ecologist  / Spatial Statistical Analyst
> Everglades and Dry Tortugas National Park
> 950 N Krome Ave (3rd Floor)
> Homestead, Florida 33034
>
> Steve_Friedman at nps.gov
> Office (305) 224 - 4282
> Fax     (305) 224 - 4147
>
>
>
>             Peter Ehlers
>             <ehlers at ucalgary.
>              
> ca>                                                        To
>                                       "Steve_Friedman at nps.gov"
>             04/01/2011 05:08          <Steve_Friedman at nps.gov>
>              
> PM                                                         cc
>                                       "r-help at r-project.org"
>                                       <r-help at r-project.org>
>                                                                    
> Subject
>                                       Re: [R] filled contour plot with
>                                       contour lines
>
>
>
>
>
>
>
>
>
>
> Aren't you missing a set of parentheses?
> I can't run your code since it's not reproducible, but to
> my aging eyes it seems that you need a set of '{}' around
> the contents of your loop:
>
>  for(j in 1:(varsize[4]-1)) { loop stuff }
>
> Peter Ehlers
>
> On 2011-04-01 11:48, Steve_Friedman at nps.gov wrote:
>>
>> I'm stumped,  can anyone find my error in this sequence.
>>
>>  for(j in 1:(varsize[4]-1))
>>       temp<- get.var.ncdf(nc=input,
>> varid="p_foraging",c(1,1,j),c(varsize[1],varsize[2],1))
>>          filled.contour(x, y, temp, color = terrain.colors,
>>              plot.title = title(main = paste("Everglades Wood Stork
>> Foraging Potential \nYear", (2000+j)),
>>              xlab = "UTM East", ylab = "UTM North") ,
>>              plot.axes = { contour(temp, add=T)
>>                 axis(1, seq(450000 , 580000, by = 10000))
>>                 axis(2, seq(2800000,4000000, by = 10000)) },
>>              key.title = title(main="Probability") ,
>>              key.axes = axis(4, seq(0 , 1 , by = 0.1))
>>
>>
>> The routine will work in a modified form without adding the  
>> coordinates
>> (the axis lines) but when I include these the routine produces  
>> various
>> errors, such as "dimension mismatch", or "unexpected end  
>> encountered."
>>
>> I tried to follow the example on filled.contour help page.
>>
>> Thanks in advance
>>    Steve
>>
>> Steve Friedman Ph. D.
>> Ecologist  / Spatial Statistical Analyst
>> Everglades and Dry Tortugas National Park
>> 950 N Krome Ave (3rd Floor)
>> Homestead, Florida 33034
>>
>> Steve_Friedman at nps.gov
>> Office (305) 224 - 4282
>> Fax     (305) 224 - 4147
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list