ggplot2 - непрерывный масштаб по оси x с большим интервалом между значениями y: я хочу распределить значения x, чтобы лучше визуализировать y - PullRequest
2 голосов
/ 06 августа 2020

Мне немного сложно это объяснить, поэтому, пожалуйста, потерпите меня. Я визуализирую данные метилирования (массив EPI C), которые содержат зонды, сопоставленные с геномом. Эти зонды иногда бывают плотными, а иногда редкими.

Я хочу показать положение генома по x и значение метилирования по y. Чтобы увидеть, где находятся зонды по отношению к определенному гену, я делаю график трека (рис. 1). Как вы можете видеть, есть большой разрыв без данных в середине двух кластеров точек. Я хочу лучше показать эти точки, разложить их, как на рис. 2. Однако я не могу использовать x в качестве фактора, так как это испортит масштаб гена на графике следа (они должны выровняться). Мне интересно, есть ли способ удалить это пространство на графике или заменить его видимым разрывом, показывающим, что масштаб в ggplot прерывистый? Я знаю о facet_zoom, но у меня это не работает с графиком трека.

Output track plot

First plot in track plotted with x as factor

My data frame:

head(df) Dataframe

Код участка:

ggplot(df, aes(x = as.numeric(pos), y = beta, col = timepoint)) +
  geom_jitter(width = 0.2, size = 3, alpha = 0.6) +
  labs(title = "CpGs", x = "Chromosome position", y = "Beta value", col = "Day" )+
  scale_color_brewer(palette="PRGn") +
  theme(axis.text.x = element_text(angle = 45)) +
  stat_summary(aes(y = beta, group = timepoint), fun = mean, geom = "line")
...