ggplot2 PDF barplot имеет белые линии, требует значительных увеличений и выглядит разно.в PowerPoint - PullRequest
1 голос
/ 09 июля 2019

Я пытаюсь построить гистограмму с накоплением в ggplot2 нескольких выборок;однако, когда я строю график своих данных, PDF-файл изобилует белыми линиями на каждом графике.

Вот пример кода, чтобы вы могли увидеть, как выглядят мои данные:

Expt <- as.data.frame(round(replicate(10, runif(10, 0, 5)), 3))
colnames(Expt) <- c("S_3", "S_5", "S_12", "S_22", "S_25", "S_27", "S_33", "S_52", "S_100", "S_101")
Expt$Phyla <- c("Proteobacteria", "Firmicutes", "Actinobacteria", "Bacteroidetes", "Verrucomicrobia", "Planctomycetes", "Cyanobacteria", "Chlamydiae", "Chloroflexi", "Deinococcus")
colors <- c("navajowhite4", "dodgerblue", "cyan", "orange", "lawngreen", "burlywood1", "black", "pink", "slateblue2", "hotpink")

library(reshape2)
Expt_melt <- melt(Expt, id.vars = "Phyla")
colnames(Expt_melt)[2:3] <- c("Sample", "Abund")

library(ggplot2)
ggplot() + geom_bar(aes(x = Sample, y = Abund, fill =     Phyla), data = Expt_melt, stat = 'identity') + scale_fill_manual(values = colors)

Этот код дает хороший составной график;однако мои данные содержат более 6000 строк и гораздо больше образцов, и реальное изображение, которое я получаю взамен, выглядит иначе.на носителе я использую.Different Graphics

Есть идеи, почему это происходит?Мне нужно иметь возможность использовать график в PDF-формате, увеличенный на 150%, когда я вставляю его в обычный слайд PowerPoint без изогнутых внутренних белых линий.Не говоря уже о том, что в конечном итоге эти графики будут опубликованы, и я не могу превратить PDF-файл, который выглядит правильно, когда увеличено только на 150%.

Рассматривая проблему белых линий, я нашел эту ссылку, чтобы избавиться от внутренних линий столбцов: Избавление от внутренних линий столбцов на графике столбцов и следуя их коду, я построил графикмои данные с использованием этого кода:

ggplot(Expt_melt, aes(x= Sample, y=  Abund, fill = Phylum)) + stat_summary(fun.y = sum, geom = "bar") + scale_fill_manual(values = colors)

Это привело к следующему графику:

stat_summary output

Как вы можете видеть, это полностью удаленовсе мои верхние бары - это были мои Phyla (Expt_melt $ Phyla) с более низкими значениями Expt_melt $ Abund.Не говоря уже о том, что этот график должен быть увеличен на 200%, чтобы быть «нормальным».

Есть предложения, что делать?Любые идеи относительно того, почему эти графики демонстрируют такое поведение?

Спасибо!

1 Ответ

2 голосов
/ 09 июля 2019

Ширина столбцов по умолчанию в ggplot составляет 0,9 (по категориальной оси, где каждый уровень имеет ширину 1), поэтому по умолчанию между барами имеются промежутки. Вы можете попробовать установить width = 1:

ggplot() + 
    geom_bar(aes(x = Sample, y = Abund, fill =     Phyla), 
             data = Expt_melt, stat = 'identity', 
             width = 1) + 
    scale_fill_manual(values = colors) 
...