Я работаю над некоторыми данными, и я хотел бы сделать что-то вроде графика ниже.С барами, которые следуют за непрерывным масштабом (период времени), большой bar_width (легко читается), нет проблем с перекрытием.
Тем не менее, с моим набором данных и Rstudio я могу получить только что-то вроде этого:.
Видите ли, есть много перекрывающихся баров(Перекрывающиеся метки не проблема для меня, только фактические бары).Я пытался настроить параметры, такие как bar_width, а также ширину и высоту при сохранении из Rstudio, но всегда что-то не так.Когда нет перекрытия, оно слишком мало, а столбцы слишком тонкие и т. Д.
Здесь вы можете найти мой сценарий, а также данные, необходимые для получения рисунка: MyData
Я надеюсь, что выполнил все инструкции stackoverflow, извините, пожалуйста, мой плохой английский, и больше всего спасибо за вашу помощь!
Редактировать: образец моих данных (но для воспроизведения ошибки вынужно все)
color_by label_by Sample Abundance
1 Ar Chl 2 0.0050024660
2 Ar Rho 2 0.0014796026
3 Ar Str 2 0.0031001198
4 Ar Unknown 2 0.0000000000
5 Al Api 2 0.0076798422
6 Al Cil 2 0.0073980131
7 Al Din 2 0.0228281547
8 Al Unknown 2 0.0002113718
9 Op Cho 2 0.0000000000
10 Op Fun 2 0.0007045727
А вот пример кода, который я использую для получения графика "MyResult":
counts_long<-read.table("data.csv", header=TRUE,sep= ",")
counts_long$X<-NULL
clr_pal<-c("#B8143C", "#E6194B" ,"#EE6587", "#F6B2C3", "#30903C" ,"#3CB44B", "#7DCD87" ,"#BEE6C3",
"#CCB414" ,"#FFE119", "#FFE74C" ,"#FFEE7F", "#FFF5B2" ,"#4363d8", "#8197E5", "#f58231",
"#F8AB75", "#911eb4", "#B569CD", "#DAB4E6", "#42d4f4", "#81E2F7", "#C028B8", "#F032E6",
"#F576EE", "#FABAF6", "#bfef45", "#000000")
bar_width=3
p <- ggplot2::ggplot(counts_long, aes(x = Sample, y = Abundance, fill = label_by)) +
ggplot2::geom_bar(position = "stack", stat = "identity", width = bar_width) +
ggplot2::guides(fill=guide_legend(title = "legend", ncol = 1)) +
ggplot2::scale_fill_manual(values = clr_pal) +
xlab("Depth(cm)")+
scale_x_reverse(breaks=counts_long$Sample)+
ggplot2::scale_y_continuous(expand = c(0,0)) +
ggplot2::theme(axis.line.x = element_line(colour = 'grey'),
axis.line.y = element_line(colour = 'grey'),
axis.ticks = element_line(colour = 'grey'),
axis.text.x = element_text(angle = 90, family = "Helvetica",
size = 6, hjust = 1, vjust = 0.5),
legend.background = element_rect(fill = 'transparent', colour = NA),
legend.key = element_rect(fill = "transparent"),
legend.key.size = unit(0.4, "cm"),
panel.background = element_rect(fill = 'transparent', colour = NA),
panel.grid.major.x = element_blank(),
panel.grid.major.y = element_line(colour = adjustcolor('grey', 0.2)),
panel.grid.minor = element_line(colour = NA),
plot.background = element_rect(fill = 'transparent', colour = NA),
plot.title = element_text(hjust = 0.5),
strip.background = element_blank(),
strip.text = element_text(family = "Helvetica", size = 8, face = "bold"),
text = element_text(family = "Helvetica", size = 8))
p+coord_flip()