I have this 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)
Using this data I am producing the following using 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")
The output is the following:
I'm trying to eliminate (programatically, because this is going in an rmarkdown doc) the x-axis labels which interfere with the correct reading of the graph. Ideally, the function would "decide" the breaks based on length of data. In this case, for example, I only need the year (column MESANIO is a yearmon zoo object).
I have tried adding scale_x_discrete() but nothing displays even if I put a generic break manually. I'm guessing this is due to the facets, but not sure.
Unless you have a very good reason to convert the x values of class yearmon
to a discrete scale using factor
, I think you should keep them as is and use zoo::scale_x_yearmon
:
library(zoo)
ggplot(data, aes(x = MESANIO, y = Clientes) +
geom_bar(stat = "identity")+
facet_grid(MesesRegistrado ~ .) +
scale_x_yearmon()
You may use n
, breaks
and format
arguments to fine-tune the appearance further.