对于这张图,我有两个问题:
首先,我是如何减小图形大小的?,我尝试使用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)
但是它只是改变图形的尺寸比例,而不是尺寸。我正在寻找一个简单的答案,例如:
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
第二个问题是,is_pass
被定义为只有两个类别0和1的因子。但是,ggplots将is_pass
作为数值,而没有将其绘制为类别0和1。您可以在图中看到。为什么?
答案 0 :(得分:0)
您可以通过在width
中添加geom_bar()
来调整条形的大小
像这样:geom_bar(..., width=0.1)
我不明白第二个问题到底是指什么。由于is_pass
具有因子级别,因此,因子值由两种不同的颜色来表示似乎很有意义。
答案 1 :(得分:0)
关于大小,您可以尝试在主题中设置边距,例如:
theme(plot.margin = unit(c(1,1,1,1),"cm"))
边距为t,r,b,l。
答案 2 :(得分:0)
在调用ggplot之前,它可能满足您设置图形窗口大小的需要。
dev.new(width=5, height=4)
您可能需要尝试以获取所需的尺寸。
这是一个完整的例子。
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")
您会看到第二个图要小得多。