在条形图中设置y限制ggplot2

时间:2018-03-13 19:09:05

标签: r ggplot2

我创建了一个条形图,显示特定类别的产品销售情况。 This is the bar chart.正如您所看到的那样,它不是很清楚,所以我试图为Y轴设置限制。

我使用以下行创建条形图:

bakerySales <- ggplot(sales_bakery, aes(ProductName, ProductSales))+ 
stat_summary(fun.y=sum,geom="bar",colour="red",fill="red",show.legend = 
FALSE)

然后我继续使用以下方法将一个主题应用于条形图:

bakerySales <- bakerySales +
theme(axis.title.x = element_blank(),
    axis.title.y = element_blank(),
    axis.text.x = element_text(colour = "black", size = 14, angle = 60, 
    hjust = 1),
    axis.text.y = element_text(colour = "black", size = 14),
    panel.background = element_rect(fill = "white"),
    panel.grid.minor = element_blank(),
    panel.grid.major = element_blank(),
    axis.line = element_line(colour = "black", size = 1),
    legend.position = "none",
    plot.title = element_text(lineheight = 8, face = "bold"))

我尝试使用以下方法设置y轴的限制:

bakerySales <- bakerySales + ylim(5000,10000)

当我这样做时,我会丢失条形图的内容It looks like this.

有人可以告诉我哪里出错了。

由于

2 个答案:

答案 0 :(得分:0)

也许你想要

+ coord_cartesian(ylim = c(5000,10000))


df <- data.frame(x = c("a","b"), y = c(1000, 2000))
ggplot(df, aes(x=x,y=y)) + 
  geom_bar(stat="identity") + 
  coord_cartesian(ylim = c(500,3000))

答案 1 :(得分:0)

如果要放大specificix ylimits,可以使用coord_cartesian函数。我没有bakerysales数据集,这是使用mtcars数据的示例:

ggplot(mtcars, aes(x = gear, y = qsec)) +
  stat_summary(fun.y=sum,geom="bar",colour="red",fill="red",show.legend = FALSE) +
  coord_cartesian(ylim = c(200, 300))