数据集具有以下结构:
how_many prod_vers when
1 14 v1 2016-01
2 654 v2 2016-01
3 8 v1 2016-02
4 373 v2 2016-02
5 33 v1 2015-03
6 240 v2 2016-03
有这样的情节:
az$dt <- as.character(az$dt)
ggplot(az, aes(x = dt, y = nu)) +
geom_bar(stat="identity") +
facet_grid(app_version ~ .) +
xlab("Month") +
ylab("Count") +
ggtitle("Count by Month & App Version")
ggplot(az, aes(x = dt, y = nu)) +
geom_bar(stat="identity") +
facet_grid(app_version ~ substring(dt, 1, 4)) +
xlab("Month") +
ylab("Count") +
ggtitle("Count by Month, Year & App Version")][2]][2]
我想知道如何让刻度包括所有月份。我尝试了这个scale_x_continuous(breaks = seq(0, 155, 5), lim = c(0, 155))
,但没有这样做。
情节: 以下是数据集:link
答案 0 :(得分:3)
您实际上并不需要更改y轴。只需修复您的数据。例如
#Load package & data
library(ggplot2)
az = readr::read_csv("DataforSover.csv")
colnames(az)[2] = "nu"
首先我们将dt
分组以提取年份和月份
az$year = substr(az$dt, 1, 4)
az$month = substr(az$dt, 6,7)
然后就像之前一样绘制
g = ggplot(az, aes(x = month, y = nu)) +
geom_bar(stat="identity") +
facet_grid(app_version ~ year) +
xlab("Month") +
ylab("Count") +
ggtitle("Count by Month, Year & App Version")
获得
如果您确实要调整x轴,则只需更改标签,例如
labels = rep("", 12)
labels[c(1, 6, 12)] = c("Jan", "Jun", "Dec")
g + scale_x_discrete(labels = labels)