Вы должны будете предоставить данные, чтобы получить более конкретный ответ с учетом вашей проблемы.Но я не хочу, чтобы вы были демотивированы пониженными голосами, которые вы получили до сих пор, и, основываясь на вашей ссылке, возможно, этот пример может дать вам пищу для размышлений.
Хорошая работа по выяснению того, что выдолжен использовать geom_violin
.Далее вам понадобится некоторая форма огранки / мультипанели.Наконец, чтобы сделать полную аннотацию, как в приведенной ссылке, вам необходимо использовать функциональность пакета grid
(которую я здесь не использую).
Я не знаком с наборами данных генной экспрессии, но я использую набор данных рейтинга фильмов IMDB для этого примера (хранится в пакете ggplot2movies).
library(ggplot2)
library(ggplot2movies)
library(data.table)
mv <- copy(movies)
setDT(mv)
# make some variables for our plotting example
mv[, year_10 := cut_width(year, 10)]
mv[, rating_10yr_avg := mean(rating), by = year_10]
mv[, length_3gr := cut_number(length, 3)]
ggplot(mv,
aes(x = year_10,
y = rating)) +
geom_violin(aes(fill = rating_10yr_avg),
scale = "width") +
facet_grid(rows = vars(length_3gr))
Пожалуйста, не принимайте этоответьте как форму, поощряющую не публиковать данные, относящиеся к вашей проблеме.