#r #ggplot2 #geom-col
#r #ggplot2 #geom-col
Вопрос:
Я работаю над созданием графика geom_col, который имеет цвета заливки в соответствии с категориями таксонов, а x будет группой, а y — изобилием, это мой код:
sig_counts_rowsample <- data.frame(t(sig_counts))%>%
merge(.,anno_col,by=0)%>%
pivot_longer(.,cols=2:(length(.)-1), names_to = "taxa", values_to = "abundance")
options(scipen=10000)
p<-ggplot(sig_counts_rowsample)
geom_col(aes(x=Group, y=abundance,fill=factor(taxa,levels=bar_sorting)),position = "position_stack(reverse = TRUE)")
scale_fill_discrete(name = "Taxa")
output_name<-paste("Group_statistics/Sig_abundance",mtype,"barplot.svg",sep="_")
ggsave(output_name,plot=p,device="svg",units="cm",width=35,height=18)
вот как выглядит фрейм данных:
> sig_counts_rowsample
# A tibble: 1,491 x 4
Row.names Group taxa abundance
<I<chr>> <fct> <chr> <dbl>
1 L1-0 L0 g__Desulfallas_s__gibsoniae 0
2 L1-0 L0 g__Streptococcus_s__thermophilus 0
3 L1-0 L0 g__Streptococcus_s__agalactiae 0
4 L1-0 L0 g__Streptococcus_s__acidominimus 0
5 L1-0 L0 g__Clostridium_s__cellulovorans 358.
6 L1-0 L0 g__Lactobacillus_s__reuteri 30.4
7 L1-0 L0 g__Lactobacillus_s__sakei 40.7
8 L1-0 L0 g__Lactobacillus_s__alimentarius 49.6
9 L1-0 L0 g__Hungateiclostridium_s__saccincola 0
10 L1-0 L0 g__Corynebacterium_s__ammoniagenes 39.2
Я внес некоторые изменения, чтобы упорядочить порядок заливки цветов и полос. это мой вывод в формате jpg:
Однако, когда я сохраняю ее в формате svg (как в приведенном выше коде), рамка будет действительно очевидной, и я хочу, чтобы она выглядела так же, как изображение в формате jpg, как мне это сделать?
это скриншот вывода svg (потому что я не могу загрузить svg-файл здесь)
Ответ №1:
Я предполагаю, что белые линии — это просто белый цвет по умолчанию. В этом случае добавление color=factor(taxa,levels=bar_sorting)
должно сработать.
Удачи!