R单张时间线定制

R单张时间线定制,r,leaflet,timeline,htmlwidgets,R,Leaflet,Timeline,Htmlwidgets,我很无助 资料来源: 库(htmlwidgets) 图书馆(htmltools) 图书馆(单张) 图书馆(geojsonio) #使用10个obs+3个COL构建data.frame 到目前为止,它还不能工作。有什么想法吗?到目前为止还不起作用。有什么想法吗? library(htmlwidgets) library(htmltools) library(leaflet) library(geojsonio) #Build data.frame with 10 obs + 3 cols pow

我很无助

资料来源:

库(htmlwidgets)
图书馆(htmltools)
图书馆(单张)
图书馆(geojsonio)
#使用10个obs+3个COL构建data.frame

到目前为止,它还不能工作。有什么想法吗?到目前为止还不起作用。有什么想法吗?
library(htmlwidgets)
library(htmltools)
library(leaflet)
library(geojsonio)

#Build data.frame with 10 obs + 3 cols
power <- data.frame(
"Latitude" = c(33.515556, 38.060556, 47.903056, 49.71, 49.041667, 31.934167, 54.140586, 54.140586, 48.494444, 48.494444),
"Longitude" = c(129.837222, -77.789444, 7.563056, 8.415278, 9.175, -82.343889, 13.664422, 13.664422, 17.681944, 17.681944),
"start" = do.call(
    "as.Date",
    list(
        x = c("15-Sep-1971", "1-Dec-1971", "1-Feb-1972", "1-Feb-1972", "1-Feb-1972", "1-Feb-1972", "1-Apr-1972", "1-Apr-1972", "24-Apr-1972", "24-Apr-1972"),
        format = "%d-%b-%Y"
    )
)
)

# set start same as end
#  adjust however you would like
power$end <- power$start + 30


# use geojsonio to convert our data.frame
#  to GeoJSON which timeline expects
power_geo <- geojson_json(power,lat="Latitude",lon="Longitude", pretty =    T)

# create a leaflet map on which we will build
leaf <- leaflet() %>%
addTiles()

# add leaflet-timeline as a dependency
#  to get the js and css
leaf$dependencies[[length(leaf$dependencies)+1]] <- htmlDependency(
name = "leaflet-timeline",
version = "1.0.0",
src = c("href" = "http://skeate.github.io/Leaflet.timeline/"),
script = "javascripts/leaflet.timeline.js",
stylesheet = "stylesheets/leaflet.timeline.css"
)

# use the new onRender in htmlwidgets to run
#  this code once our leaflet map is rendered
#  I did not spend time perfecting the leaflet-timeline
#  options
leaf %>%
setView(44.0665,23.74667,2) %>%
onRender(sprintf(
    '
    function(el,x){
    var power_data = %s;

    var timelineControl = L.timelineSliderControl({
      formatOutput: function(date) {
        return new Date(date).toString();
      }
    });

    var timeline = L.timeline(power_data, {
    pointToLayer: function(data, latlng){
    var hue_min = 120;
    var hue_max = 0;
    var hue = hue_min;
    return L.circleMarker(latlng, {
    radius: 10,
    color: "hsl("+hue+", 100%%, 50%%)",
    fillColor: "hsl("+hue+", 100%%, 50%%)"
    });
    },
    steps: 1000,
    duration: 10000,
    showTicks: true
    });
    timelineControl.addTo(HTMLWidgets.find(".leaflet").getMap());
    timelineControl.addTimelines(timeline);
    timeline.addTo(HTMLWidgets.find(".leaflet").getMap());
    }
    ',
    power_geo
))
leaf$dependencies[[length(leaf$dependencies)+1]] <- htmlDependency(
name = "leaflettimeline",
version = "1.0.0",
src = c(file = "C:/User/Documents/timeline),
script = c("src/Timeline.js","src/TimelineSliderControl.js"),
stylesheet = "src/leaflet.timeline.sass"
)