'Decrease the size of a graph in ggplot - R
I have two questions for this graph I did:
The first, is how do I decrease the graph size?, I have tried with coord_fixed
:
ggplot(x, aes(fill=is_pass, y=percent_diff, x=difficulty_level)) +
geom_bar(position="dodge", stat="identity") +
coord_fixed(ratio = 0.05)
But it just change the dimension's ratio of the graph, not the size. I'm looking for a simple answer, something like:
ggplot(x, aes(fill=is_pass, y=percent_diff, x=difficulty_level)) +
geom_bar(position="dodge", stat="identity") +
size(width=5, length=4) # or something like this
The second question, is that is_pass
is defined as a factor with just two classes 0 and 1. However, ggplots takes is_pass
as numeric and doesn't plot it as classes 0 and 1 as you can see in the graph. Why?
Solution 1:[1]
As for the size, you could try maybe setting margins in your theme, something like:
theme(plot.margin = unit(c(1,1,1,1),"cm"))
margins work as t, r, b, l.
Solution 2:[2]
It has been a long time since this question has been asked. I had a similar issue. I wanted to have the graph itself smaller, but not any of the text in the graph! I'm not sure if this is what you were looking for. But for me, adjusting the fig.height in the chunk helped:
{r fig.height = 10, fig.width = 5}
Solution 3:[3]
You can adjust the size of bar by adding width
in geom_bar()
like this: geom_bar(..., width=0.1)
And I don't get what second question is exactly referring to. As is_pass
has factor level, it seems to quite make sense that factor value is featured by two different colors.
Solution 4:[4]
It may meet your need to set the size of the graphics window before you call ggplot.
dev.new(width=5, height=4)
You may need to experiment to get the size that you want.
Here is a complete example.
library(ggplot2)
df <- data.frame(dose=c("D0.5", "D1", "D2"),
len=c(4.2, 10, 29.5))
head(df)
ggplot(data=df, aes(x=dose, y=len)) +
geom_bar(stat="identity")
dev.new(width=5, height=4)
ggplot(data=df, aes(x=dose, y=len)) +
geom_bar(stat="identity")
You can see that the second plot is much smaller.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | FMM |
Solution 2 | Maaike Steenhuis |
Solution 3 | Katherine.M |
Solution 4 |