r - change discrete x zoo scale in ggplot2 -
i have 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 data producing 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 following:
i'm trying eliminate (programatically, because going in rmarkdown doc) x-axis labels interfere correct reading of graph. ideally, function "decide" breaks based on length of data. in case, example, need year (column mesanio yearmon zoo object).
i have tried adding scale_x_discrete() nothing displays if put generic break manually. i'm guessing due facets, not sure.
unless have reason convert x values of class yearmon
discrete scale using factor
, think should keep them , 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
, format
arguments fine-tune appearance further.
Comments
Post a Comment