2016-12-09 1 views
1

Я пытаюсь изменить ось y и поместить ось x сверху. Все работает нормально, но когда я пытаюсь обеспечить диапазон оси у в scale_y_reverse() функции ось у получил исчезнувшее и показать предупреждающее сообщение - Removed 44 rows containing missing values (geom_point) Вот мой код-scale_y_reverse() не работает в ggplot2

ggplot(out,aes(x=self_w,y=self_h,col=log(out$force),xlim(0,593),ylim(0,790)))+ geom_point(size=log(out$force))+ 
    scale_fill_continuous(low="green",high="red") +scale_x_continuous(limits=c(0,593),expand=c(0,0),position = "top")+ 
    scale_y_reverse(limits=c(0,790),expand=c(0,0)) 

Here мой набор данных. Если вы удалите аргументы scale_y_reverse(), он будет работать нормально, но это не то, что мне нужно. Также цветовая гамма не изменяется от green до red. Может ли кто-нибудь помочь мне найти проблему? Благодарю.

+0

О, я забыл упомянуть, перед запуском я изменил все 0 на 1 на 'out $ force [out $ force == 0] = 1', так что log (1) будет равен нулю –

ответ

3

Когда вы меняете ось, вам также необходимо изменить пределы. Поэтому перейдите на страницу scale_y_reverse(limits=c(790,0), expand=c(0,0)).

Несколько других вещей:

  1. Изменение всех экземпляров out$force к force, так как вы не должны переформулировать имя фрейма данных в aes.

  2. В geom_point, size=log(force) следует обернуть в aes().

  3. Глядя на ваши данные, force часто равен нулю, поэтому log(force) будет -Inf в этих случаях.

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