我的传单有一个奇怪的问题。我有一个 R Shiny 应用程序,可以将不同的值呈现为光栅图像。用户基本上可以在不同的数据集之间切换,除了一个,它们都可以工作,它会渲染一个光栅网格,垂直线分隔点块,如下图所示:
那些不是缺失值。如果我只是绘制它,那些条纹就不会出现,当它通过 Leaflet 和 R Shiny 时会发生一些事情,但我无法弄清楚。
很难提供reprex,因为这似乎与数据有关。失功能组中的数据看起来与功能组中的数据几乎相同。所以我将提供我如何渲染它的再现,只是为了看看我是否可以通过其他方式来揭示潜在问题或只是解决它。
这里只是一些生成带有一些缺失值的随机数据网格的代码:
library(shiny)
library(tidyverse)
library(leaflet)
library(rgdal)
library(rgeos)
library(raster)
# some random snippet of my data
df<-data.frame(value=rnorm(10000),
lon=c(rep(seq(-124,-106.8334,0.1734),each=100)),
lat=rep(seq(25,46.71961,0.21939),times=100))
df$value[df$value>2]<-NA # just to throw some NAs in there, this is not the problem
a<-df
coordinates(a)<-cbind(df$lon,df$lat)
gridded(a)<-T
a<-raster(a)
proj4string(a) <- CRS("+proj=longlat")
然后这是一个非常简单的用户界面:
ui<-fluidPage(leafletOutput("map",height=350))
和服务器:
server <- function(input, output, session) {
output$map <- renderLeaflet({
pal<-colorNumeric(c('red',"white","blue"),domain=df$value,na.color=NA) # min/max values of wholesale prices and % negative pricing
leaflet(options=leafletOptions(minZoom=3,maxZoom=7)) %>% setView(-124.1734,40.47774,zoom=3) %>%
addProviderTiles(providers$CartoDB.PositronNoLabels, tileOptions(maxZoom = 5)) %>%
addMapPane("polys", zIndex = 100) %>%
addMapPane("raster",zIndex=200) %>%
addRasterImage(a, colors = pal, opacity = 0.8,layerId="value")
})
}
同样,这个渲染没有显示图像的问题,但希望有人能在该代码中看到一些可能导致这些奇怪条纹的问题。它们不是缺失值。如果其他人看到了这个问题并找到了解决方法,我将不胜感激!