2013-05-31 3 views
1

Я пытаюсь построить большое количество точек данных, используя ggplot2 в R. Я пытаюсь построить трехмерные данные (например, восточные, северные и возвышенные). То, что я пытаюсь достичь, - это когда я изменяю xlimits или scale_x_continuous, тогда легенда будет автоматически обновляться до текущей степени.Автомасштабирование легенды на ggplot в R

Например, синтаксис я использую в следующим образом:

Данные можно найти по следующему адресу: https://www.dropbox.com/s/64x9374y2zip6f7/data-river.csv

p <- ggplot(data1,aes(x=x,y=y,color=z),size=1)+geom_point() 
p 

Выход меня выглядит следующим образом:

enter image description here

Затем я использую следующий синтаксис для изменения границ оси x и y:

p1 <- ggplot(data1,aes(x=x,y=y,color=z),size=1)+geom_point()+scale_x_continuous(limits = c(470000,472500))+scale_y_continuous(limits=c(3704000,3706000)) 
p1 

Выхода следующим образом:

enter image description here

Как мы можем видеть, что экстенты изменяются на обоих рисунках, однако, масштаб легенды не меняется. Я не знаю, как изменить легенду с помощью автоматического масштабирования. Я не делаю это в ggplot или нет.

Я также был бы признателен, если бы кто-нибудь мог указать, как сделать график с несколькими цветами.

Спасибо.

ответ

2

Вы можете подмножество() ваши данные, чтобы включать только область, которую Вы хотите построить,

p1 %+% subset(data1, x < 472500 & x > 470000 & y < 3706000 & y > 3704000) 

и для цветов, взглянуть на ?scale_colour_gradientn, например.

+0

Большое спасибо. Он делает именно то, что мне нужно. –

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