Разрыв данных в ggplot2

#r #ggplot2 #outliers #yaxis

#r #ggplot2 #выбросы #yaxis

Вопрос:

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

Мои данные выглядят следующим образом — я предоставил примеры, пока не опубликую, у меня много данных на нижнем конце и несколько выбросов на верхнем конце,

 Date        Site    Al
07/10/2014  Bo6     32
07/10/2014  Bo1     32
07/10/2014  Bo3     40
07/10/2014  Bo4     60
07/10/2014  Bo5     51
07/10/2014  B14
07/10/2014  B4
07/10/2014  B3
07/10/2014  B5
07/10/2014  B8
07/10/2014  B11
07/10/2014  B13
14/10/2014  Bo6
14/10/2014  Bo1   100
14/10/2014  Bo3   300
14/10/2014  Bo5   2000
14/10/2014  Bo4   3000
14/10/2014  B14
14/10/2014  B3
14/10/2014  B4
14/10/2014  B5
14/10/2014  B8
14/10/2014  B12
4/10/2014   B11
14/10/2014  B13
28/10/2014  Bo4  1000
28/10/2014  Bo5  2000
28/10/2014  Bo6  3000
28/10/2014  B3
28/10/2014  B4
28/10/2014  B5
28/10/2014  B6
28/10/2014  B7
28/10/2014  B8
28/10/2014  B9
28/10/2014  B10
28/10/2014  B11
28/10/2014  B12
28/10/2014  B13
28/10/2014  B14
31/10/2014  B1
31/10/2014  D1
  

Я использовал следующий код:-

 require(ggplot2)
require(reshape2)
require(magrittr)
require(dplyr)
require(tidyr)
require(cowplot)
require(grid)
require(scales)
setwd("~/Documents/Results")
mydata <- read.csv("Metals sheet R.csv")
L <- subset(mydata, Site =="Bo1"| Site == "Bo2"| Site == "Bo3"| Site       == "Bo4"| Site == "Bo5" | Site == "Bo6", select = c(Site,Date,Al))
L$Date <- as.Date(L$Date, "%d/%m/%Y")
I <- ggplot(data=L, aes(x=Date, y=Al, colour=Site))  
geom_point()   
labs(title = "Total aluminium in the Bowydd
   2014-2015.", x = "Month 2014/2015",
   y = "Total concentration (mg/L)")  
  scale_x_date(date_breaks = "1 month", date_labels = "%m")        theme_get()
 r2 <- I   geom_hline(aes(yintercept= 10, linetype = "NRW limit"),     colour= 'red')  
   geom_hline(aes(yintercept= 75.5, linetype = "Geochemical atlas limit"), colour= 'blue')  
    scale_linetype_manual(name = "Limit", values = c(2, 2), 
                    guide = guide_legend(override.aes = list(color = c("blue", "red"))))
ggdraw(r2)   draw_figure_label(label = "(a)", position ="top.left")
  

Как вы можете видеть, высокие точки скрывают приведенные ниже данные. Возможно ли поставить разрыв в данных по оси y или лучше записать преобразование?
Заранее спасибо.

Комментарии:

1. используйте пакет real graphics для одного изображения и сделайте его похожим на другие ваши изображения

2. Спасибо! звучит правдоподобно!

3. scale_y_log10 это выглядит намного лучше. Хэдли считает (не без оснований), что сломанные оси y вводят в заблуждение, поэтому их нелегко построить в ggplot2.