#r #ggplot2 #ggsave
Вопрос:
У меня возникли проблемы с объединением графиков гистограммы и плотности. Они хорошо сливаются, но почему-то левая ось y не выделяется жирным шрифтом. Правая ось y (у меня две оси y) выделена жирным шрифтом, как и ось x.
lenhist <- gghistogram(final_len, x = "Length",
add = "mean", rug = TRUE,
fill = "Protokoll", color = "Protokoll",
palette = "npg", binwidth = 1,
alpha = 0.8)
#ylab = "Klonotüüpide arv") #add_density = TRUE)
#lims(y= c(0, 10000)) #maksimaalne exp_len count väärtus on 9579
theme(axis.title.y = element_text(size=14, face="bold", colour = "black"), #here i tell the y axis title to go bold
axis.text=element_text(size=14),
title = element_text(size=14, face="bold", vjust = 2))
labs(y = "Klonotüüpide arv")
theme_minimal()
#rremove("x.axis")
#rremove("xlab")
rremove("x.text")
rremove("x.ticks")
rremove("legend")
lenhist
lendens <- ggdensity(
final_len, x = "Length", color = "Protokoll", fill = "Protokoll",
alpha = 0.08, palette = "npg")
scale_y_continuous(expand = expansion(mult = c(0, 0.05)),
position = "right",
name = "Tihedus")
#(name = "Tihedus", sec.axis = sec_axis(trans = "identity", name = "Count"),
rremove("x.axis")
rremove("xlab")
rremove("x.text")
rremove("x.ticks")
rremove("legend")
theme_minimal()
theme(axis.text=element_text(size=12),
axis.title=element_text(size=13, face='bold'),
title = element_text(size=14, face='bold', vjust = 2),
legend.text=element_text(size=12),
legend.title=element_text(size=13, face = "bold"))
labs(title = "CDR3 pikkuste jaotus",
subtitle = NULL,
x = "CDR3 pikkus", y = "Tihedus")
lendens
#merging the two plots
aligned_plots <- align_plots(lenhist, lendens, align="hv", axis="tblr")
final_length <- ggdraw(aligned_plots[[1]]) draw_plot(aligned_plots[[2]])
final_length
ggsave(filename = "cdr3density3.png", plot = ggplot2::last_plot(), dpi = 320, height = 5, width = 10)
Кроме того, функция ggsave не очень хорошо работает с этим сюжетом.
Комментарии:
1. Не могли бы вы поделиться некоторыми воспроизводимыми данными? 🙂 Вы можете использовать
dput()
для получения своих данных. Бегите?dput
за дополнительной информацией.