2015-03-23 1 views
5

После просмотра Intro to Leaflet, я попытался работать с набором данных, но ламинария не получала цвет для кругов или маркеров, когда я пытался использовать интерфейс формулы. Я воссоздал игрушечный пример, и, как вы видите, что-то не работает. Хотя это может быть я! Итак:Листовка в R, не показывающая цвета круглых цветов

library("leaflet") 
set.seed(100) 
pdf <- data.frame(Latitude = runif(100, -90,90), Longitude = runif(100, -180,180)) 

#just red 
leaflet(pdf) %>% addTiles() %>% 
    addCircleMarkers(lat = ~ Latitude, lng = ~ Longitude, color= "red") 

Работает отлично с красивой картой с красными маркерами.

Red map

Но. Добавление цвета, похоже, полностью завершает маркеры.

#let's add some color! 
pdf$Study <- factor(rep(1:10,10)) 
cols <- rainbow(length(levels(pdf$Study))) 
pdf$colors <- cols[unclass(pdf$Study)] 

leaflet(pdf) %>% addTiles() %>% 
    addCircleMarkers(lat = ~ Latitude, lng = ~ Longitude, color= ~ colors) 

This should be colorful

Проверку колонки цвета PDF показывает, что все должно быть ярким и красивым, и все же, увы. Что тут происходит?

ответ

4

По умолчанию rainbow возвращает цвета в формате #RRGGBBAA, которые Листовка не может использовать. Если вы добавите аргумент alpha=NULL, тогда он должен работать нормально.

+0

Это относится только к цветным функциям R по умолчанию, или есть исправление для других цветовых палитр. Например, скажем, я использовал RColorBrewer или библиотеку wesanderson - мне также нужно было бы исправить эти цвета, и есть ли стандартное исправление? – jebyrnes

+1

Для RColorBrewer я рекомендую использовать различные аргументы colorXXX, включенные в пакет листовок, и просто передать имя палитры colorbrewer в качестве аргумента 'palette'. См. Примеры здесь: http://rstudio.github.io/leaflet/colors.html Но в ответ на ваш вопрос RColorBrewer возвращает цвета '# RRGGBB', поэтому он должен работать нормально ... Я не уверен в wesanderson, но Я бы предположил, что он делает то же самое. –

Смежные вопросы