我有这个data.frame:
data<-structure(list(MESANIO = structure(c(2008.25, 2008.41666666667,
2008.58333333333, 2008.66666666667, 2008.75, 2008.83333333333,
2008.91666666667, 2009, 2009.08333333333, 2009.16666666667, 2009.25,
2009.33333333333, 2009.41666666667, 2009.5, 2009.58333333333,
2009.66666666667, 2009.75, 2009.83333333333, 2009.91666666667,
2010, 2010.08333333333, 2010.16666666667, 2010.25, 2010.33333333333,
2010.41666666667, 2010.5, 2010.58333333333, 2010.66666666667,
2010.75, 2010.83333333333, 2010.91666666667, 2011, 2011.08333333333,
2011.16666666667, 2011.25, 2011.33333333333, 2011.41666666667,
2011.5, 2011.58333333333, 2011.66666666667, 2011.75, 2011.83333333333,
2011.91666666667, 2012, 2012.08333333333, 2012.16666666667, 2012.25,
2012.33333333333, 2012.41666666667, 2012.5, 2012.58333333333,
2012.66666666667, 2012.75, 2012.83333333333, 2012.91666666667,
2013, 2013.08333333333, 2013.16666666667, 2013.25, 2013.33333333333,
2013.41666666667, 2013.5, 2013.5, 2013.58333333333, 2013.58333333333,
2013.66666666667, 2013.66666666667, 2013.75, 2013.75, 2013.83333333333,
2013.83333333333, 2013.91666666667, 2013.91666666667, 2014, 2014,
2014.08333333333, 2014.08333333333, 2014.16666666667, 2014.16666666667,
2014.25, 2014.25, 2014.33333333333, 2014.33333333333, 2014.41666666667,
2014.41666666667, 2014.5, 2014.5, 2014.5, 2014.58333333333, 2014.58333333333,
2014.58333333333, 2014.66666666667, 2014.66666666667, 2014.66666666667,
2014.75, 2014.75, 2014.75, 2014.83333333333, 2014.83333333333,
2014.83333333333, 2014.91666666667, 2014.91666666667, 2014.91666666667,
2015, 2015, 2015, 2015, 2015.08333333333, 2015.08333333333, 2015.08333333333,
2015.08333333333, 2015.16666666667, 2015.16666666667, 2015.16666666667,
2015.16666666667, 2015.25, 2015.25, 2015.25, 2015.25, 2015.33333333333,
2015.33333333333, 2015.33333333333, 2015.33333333333, 2015.41666666667,
2015.41666666667, 2015.41666666667, 2015.41666666667, 2015.5,
2015.5, 2015.5, 2015.5), class = "yearmon"), MesesRegistrado = c("4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"4. Más de 24", "4. Más de 24", "4. Más de 24", "4. Más de 24",
"3. Más de 12", "4. Más de 24", "3. Más de 12", "4. Más de 24",
"3. Más de 12", "4. Más de 24", "3. Más de 12", "4. Más de 24",
"3. Más de 12", "4. Más de 24", "3. Más de 12", "4. Más de 24",
"3. Más de 12", "4. Más de 24", "3. Más de 12", "4. Más de 24",
"3. Más de 12", "4. Más de 24", "3. Más de 12", "4. Más de 24",
"3. Más de 12", "4. Más de 24", "3. Más de 12", "4. Más de 24",
"2. Más de 6", "3. Más de 12", "4. Más de 24", "2. Más de 6",
"3. Más de 12", "4. Más de 24", "2. Más de 6", "3. Más de 12",
"4. Más de 24", "2. Más de 6", "3. Más de 12", "4. Más de 24",
"2. Más de 6", "3. Más de 12", "4. Más de 24", "2. Más de 6",
"3. Más de 12", "4. Más de 24", "1. Menos de 6", "2. Más de 6",
"3. Más de 12", "4. Más de 24", "1. Menos de 6", "2. Más de 6",
"3. Más de 12", "4. Más de 24", "1. Menos de 6", "2. Más de 6",
"3. Más de 12", "4. Más de 24", "1. Menos de 6", "2. Más de 6",
"3. Más de 12", "4. Más de 24", "1. Menos de 6", "2. Más de 6",
"3. Más de 12", "4. Más de 24", "1. Menos de 6", "2. Más de 6",
"3. Más de 12", "4. Más de 24", "1. Menos de 6", "2. Más de 6",
"3. Más de 12", "4. Más de 24"), Clientes = c(1L, 1L, 1L, 3L,
110L, 238L, 270L, 300L, 309L, 321L, 295L, 345L, 373L, 376L, 409L,
449L, 485L, 480L, 518L, 595L, 604L, 659L, 639L, 722L, 698L, 750L,
775L, 802L, 868L, 894L, 974L, 1002L, 971L, 1060L, 1037L, 1047L,
1089L, 1112L, 1155L, 1182L, 1226L, 1292L, 1375L, 1374L, 1416L,
1457L, 1445L, 1451L, 1407L, 1467L, 1533L, 1574L, 1607L, 1595L,
1716L, 1767L, 1719L, 1781L, 1807L, 1830L, 1822L, 17L, 1907L,
82L, 1880L, 128L, 1912L, 173L, 1891L, 219L, 1888L, 280L, 1964L,
337L, 1965L, 369L, 1946L, 421L, 1938L, 487L, 1945L, 556L, 1946L,
641L, 1942L, 26L, 662L, 1948L, 117L, 598L, 1945L, 190L, 652L,
1960L, 255L, 632L, 2023L, 321L, 627L, 2056L, 422L, 642L, 2099L,
57L, 451L, 660L, 2139L, 182L, 410L, 647L, 2101L, 292L, 421L,
675L, 2175L, 752L, 428L, 654L, 2172L, 995L, 435L, 690L, 2265L,
1756L, 456L, 697L, 2285L, 2693L, 462L, 705L, 2382L)), .Names = c("MESANIO",
"MesesRegistrado", "Clientes"), row.names = c(NA, -131L), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"), vars = list("MESANIO"), drop = TRUE)
使用此数据我使用ggplot()
生成以下内容:
g_evtrafico<-ggplot(data,
aes(x = as.factor(MESANIO),
y = Clientes,
group = 1))+
geom_bar(stat = "identity")+
facet_grid(MesesRegistrado ~ .)+
stat_smooth(method="lm", se=FALSE)+
labs(title = "Flujo de Clientes", x = "Fecha", y = "Clientes")
输出如下:
我试图消除(以编程方式,因为这是在rmarkdown文档中)x轴标签干扰正确读取图形。理想情况下,该函数将根据数据长度“决定”中断。在这种情况下,例如,我只需要年份(列MESANIO是一个常年动物园对象)。
我尝试添加scale_x_discrete()但是即使我手动设置了泛型中断也没有显示。我猜这是由于方面,但不确定。
答案 0 :(得分:1)
除非您有充分的理由使用yearmon
将类factor
的x值转换为离散比例,否则我认为您应该按原样保留它们并使用zoo::scale_x_yearmon
:< / p>
library(zoo)
ggplot(data, aes(x = MESANIO, y = Clientes) +
geom_bar(stat = "identity")+
facet_grid(MesesRegistrado ~ .) +
scale_x_yearmon()
您可以使用n
,breaks
和format
参数来进一步微调外观。
答案 1 :(得分:0)
您可以尝试使用pretty_breaks
包中的scales
功能:
...
g_evtrafico <- ggplot(data, aes(x = as.factor(MESANIO), y = Clientes, group = 1)) +
geom_bar(stat = "identity") +
scale_x_discrete(breaks=pretty_breaks(n=10)) +
facet_grid(MesesRegistrado ~ .) +
stat_smooth(method="lm", se=FALSE) +
labs(title = "Flujo de Clientes", x = "Fecha", y = "Clientes")
...