Hello,
There are ways of reducing the white space between the bars but they are
not obvious. Here are the two ways that I know.
First a data example.
library(ggplot2)
library(gridExtra)
df1 <- data.frame(x = LETTERS[1:5],
y = c(40, 15, 30, 15, 20))
1. The examples that follow set argument width in two places. What is
important is the relative magnitudes of width and position_dodge(width).
If width is bigger than position_dodge(width) then the bar sizes and the
space between them do not change. They only change if the second width
is bigger. In this case the first argument makes a difference. Run the
examples to see what I mean.
g1 <- ggplot(df1, aes(x, y)) +
geom_bar(stat = "identity",
width = 0.8,
position = position_dodge(width = 0.5))
g2 <- ggplot(df1, aes(x, y)) +
geom_bar(stat = "identity",
width = 0.8,
position = position_dodge(width = 0.25))
g3 <- ggplot(df1, aes(x, y)) +
geom_bar(stat = "identity",
width = 0.5,
position = position_dodge(width = 0.8))
g4 <- ggplot(df1, aes(x, y)) +
geom_bar(stat = "identity",
width = 0.25,
position = position_dodge(width = 0.8))
grid.arrange(g31, g2, g3, g4)
2. The other way is to shrink the plot by changing its aspect ratio.
g3 + theme(aspect.ratio = 2/1)
grid.arrange(g3, g3 + theme(aspect.ratio = 2/1), nrow = 1)
Run the examples and try to do something out of this.
Hope this helps,
Rui Barradas
Às 16:41 de 09/01/20, Ana Marija escreveu:
HI Rui,
Thank you so much for getting back to me!
I did implement your idea (see attach):
ax.11.text <- element_text(size = 10)
ay.11.text <- element_text(size = 10)
p<-ggplot(data=toplot, aes(x=cat, y=props)) +
geom_bar(stat="identity",width=0.5, fill="steelblue")+
geom_errorbar(aes(ymin=props-1.96*ses, ymax=props+1.96*ses), width=.1,
position=position_dodge(.9)) +
geom_signif(comparisons=list( c("All eQTL", "eQTL from 103 genes"),
c("All SNPs", "eQTL from 103 genes")),
y_position=c(0.065, 0.07), tip_length=0, annotation=c("p
= 0.0012", "p = 0.0023")) +
scale_y_continuous(breaks=seq(0,.06,by=.01)) +
xlab("") + ylab("Proportion p-values < 0.05") +
theme_classic()+
theme(panel.grid.major.x = element_line(size = 0.1, color = "grey"),
panel.grid.major.y = element_blank(),
panel.grid.minor = element_blank(),axis.text.x =
ax.11.text,axis.text.y=ay.11.text
)
p
I was wondering is there is any way to decrease the amount of white
spaces around the bars?
Thanks
Ana
On Wed, Jan 8, 2020 at 2:58 PM Rui Barradas <ruipbarra...@sapo.pt> wrote:
Hello,
Maybe
theme(panel.grid.major.x = element_line(size = 0.1, color = "grey"),
panel.grid.major.y = element_blank(),
panel.grid.minor = element_blank()
)
Note that if you remove the y axis grid you must set the x axis grid
explicitly.
Hope this helps,
Rui Barradas
Às 18:52 de 08/01/20, Ana Marija escreveu:
Hello,
I have this plot in attach. I was wondering how can I change my
plotting code in order to remove these gray horizontal background
lines but keep these two vertical lines? These two vertical lines
don't need to be gray, can be any other type of lines but they must be
at the same place. Also how can I make these two bars narrower?
library("ggplot2")
p<-ggplot(data=toplot, aes(x=cat, y=props)) +
geom_bar(stat="identity", fill="steelblue")+
geom_errorbar(aes(ymin=props-1.96*ses, ymax=props+1.96*ses), width=.2,
position=position_dodge(.9)) +
geom_signif(comparisons=list( c("All eQTL", "eQTL from 103 genes"),
c("All SNPs", "eQTL from 103 genes")),
y_position=c(0.065, 0.07), tip_length=0, annotation=c("p
= 0.0012", "p = 0.0023")) +
scale_y_continuous(breaks=seq(0,.06,by=.01)) +
xlab("") + ylab("Proportion p-values < 0.05") +
theme_minimal()
p
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.