我正在尝试使用交互式shiny/plotly烛台图表中的更新/重新设计按钮在两组开盘/高/低/收盘 (OHCL) 值之间切换。我观察到一些奇怪的行为,可能与NA数据中的 s 或 RStudio 更新交互式绘图的方式有关,我希望有人能够向我解释。
这些是模拟数据
set.seed(11357)
library(tidyverse)
library(shiny)
library(plotly)
n<-10
dd <- data_frame(Date = 1:n, o.a=sample(1:n, n), h.a=o.a+1, l.a=o.a-1, c.a=o.a+.5
, o.b=sample((n+1):(2*n), n), h.b=o.b+1, l.b=o.b-1, c.b=o.b+.5)
dd <- apply(dd, 2, function(x) {x[sample( c(1:n), floor(n/5))] <- NaN; x} ) %>% as.data.frame()
Run Code Online (Sandbox Code Playgroud)
导致
Date o.a h.a l.a c.a o.b h.b l.b c.b
1 1 NaN 6 NaN NaN 16 17 15 16.5
2 2 3 NaN 2 3.5 15 16 14 NaN
3 …Run Code Online (Sandbox Code Playgroud) 我知道我可以使用mapview::mapshot从 Rstudio 导出传单地图作为 PNG。但是,我无法精确指定要导出的地图的缩放级别和区域。
library(maps)
library(ggmap)
library(maptools)
library(leaflet)
library(mapview)
library(rgdal)
country <- 'italy';
zoomLevel <- 12;
ita.map <- map( country, fill = TRUE, col = 1, plot = F );
ita.map.ids <- sapply( strsplit( ita.map$names, ':' ), function(x) x[1] );
ita.sp <- map2SpatialPolygons( ita.map, IDs=ita.map.ids, proj4string=CRS("+proj=longlat +datum=WGS84"))
bb<-as.numeric(ita.sp@bbox)
m<-leaflet() %>%
setView(12.48,41.89,zoom=zoomLevel) %>%
addTiles() %>%
addPolygons(data=ita.sp)%>%
addExtent(data=ita.sp)
mapshot(m, file = "italy.png")
Run Code Online (Sandbox Code Playgroud)
添加
%>% fitBounds(bb[1],bb[2],bb[3],bb[4])
Run Code Online (Sandbox Code Playgroud)
上面的代码产生
哪个更好,但是 a) 不遵守指定的缩放级别,并且 b) 有很多不需要的水平填充。
我认为向 …