2016-04-11 2 views
2

У меня два вопроса:ggplot2 нелинейно регулировки шкалы с цветом

  1. Хотя эти данные имеют диапазон от -1 до 5, большинство из них имеет значение между -1 и 1. Таким образом, я задавался вопросом, могу ли я настроить соотношение между результатом и цветом, чтобы быть нелинейным (т. е. больше изменений между -1 и 1, но меньше изменений между 2 и 5). Возможно ли это с помощью GGplot2?

  2. Как переместить шкалу шкалы в карты, скажем, в нижнем правом положении?

Вот мой код:

library(ggplot2) 
library(ggmap) 
library(data.table) 
map<-get_map(location='united states', zoom=4, maptype = "terrain", 
     source='google',color='bw') 
ggmap(map) + geom_point(
aes(x=longitude, y=latitude, show_guide = TRUE, colour=V1), 
data=plot.data, alpha=0.3, na.rm = T) + 
scale_color_gradient(low="red", high = "red4", name = "Level") 
+0

Я редактировал свой пост: Я встраиваемое изображения (добавил ''! перед описанием), зафиксировано форматирование списка и несколько опечаток. Вы можете улучшить это, добавив то, что ожидаете от кода, и то, как ваше текущее решение отклоняется от этого. –

ответ

1

Вы можете использовать scale_colour_gradientn и определить values (от ?scale_colour_gradientn: , если цвета не должны быть равномерно расположенный вдоль градиента, этот вектор дает положение (между 0 и 1) для каждого цвета в цветовом векторе.), например:

ggplot(data = iris, aes(x = Species, y = Sepal.Width, colour = Sepal.Length)) + 
     geom_point() + 
     scale_colour_gradientn(colours = c("blue", "red", "orange"), 
          values = c(0, 0.1, 1)) 

Чтобы изменить положение легенды взглянуть на ?theme>legend.position и/или legend.justification

+0

Спасибо за совет. Я попробовал. Я все еще чувствую, что цвета очень трудно контролировать. Например, когда установлено colors = c («синий», «красный», «оранжевый»), значения = c (0, 0,1, 1) Могу ли я спросить, что означают значения? означает «синий» лежит менее чем на 0? "красный" лежит в 0-0.1? Что делать, если я хочу установить -0.5-0 как серый, 0-1 - красный, 1-2 - синий и т. Д.? Большое спасибо. –

+0

значения 0-1 не представляют действительные значения, а позиции в диапазоне данных, например. если ваши данные варьируются от -1 до 5, и вы хотите, чтобы позиции цвета были равны -1, 1 и 5, вы использовали бы 0, 0.33 и 1. Если ваши данные варьируются от -0,5 до 2, и вы хотите, чтобы цвета позиции на -0,5, 0, 1 и 2 вы использовали бы 0, 0.2, 0.6 и 1. – beetroot

+0

Это очень полезно. Я попробую. Большое спасибо. –

0

Вы можете попробовать эту команду:

+theme(legend.position = c(xxx, xxx)) 
+0

спасибо большое –

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