Как настроить размер строки в geom_line без получения другой (бесполезной) легенды? - PullRequest
6 голосов
/ 31 июля 2010

Мне бы хотелось отрегулировать размер моих строк (обе), потому что я чувствую, что они слишком худые.Следующий код делает это, но создает легенду для размера, которая бесполезна, так как размер не имеет переменной, которая может быть сопоставлена ​​с ним.

qplot(date,value,data=graph1,geom="line",colour=variable,xlab="",ylab="",size=1)
+ scale_y_continuous(limits = c(-0.3,0.3)) + opts(aspect.ratio = 2/(1+sqrt(5))) 
+ scale_colour_manual("Variable",c(Line1="red",Line2="blue")) 
+ opts(legend.size="none")

Мой график состоит из двух линий, представляющих временной ряд двух разныхпеременные за тот же промежуток времени.Переменная отображается на цвет.Если я пытаюсь повлиять на размер строки, qplot всегда пытается отобразить «размер» на другой параметр и отобразить другую легенду.

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

Спасибо за любые предложения!

1 Ответ

6 голосов
/ 31 июля 2010

Я верю в qplot() Все эстетические настройки интерпретируются как находящиеся в пределах aes().Если вы не хотите, чтобы настройка размера отображалась в легенде, оберните значение с I() как есть.

qplot(date, value,data=graph1,
      geom="line",
      colour=variable,xlab="",
      ylab="",
      size= I(1))+
   scale_y_continuous(limits = c(-0.3,0.3))+
   scale_colour_manual("Variable",c(Line1="red",Line2="blue"))+ 
   opts(legend.size="none",
        aspect.ratio = 2/(1+sqrt(5)))

Теперь не должно быть легенды размера.1008 * Еще одна вещь, на которую следует обратить внимание: теперь возможно исключить из легенды эстетическую шкалу.Если, например, вы хотите удалить шкалу размеров более сложным способом, вы можете сделать

last_plot() + scale_size(legend = F)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...