ggplot.default            package:ggplot            R Documentation

_C_r_e_a_t _a _n_e_w _p_l_o_t

_D_e_s_c_r_i_p_t_i_o_n:

     Create a new ggplot plot

_U_s_a_g_e:

     ggplot.default(data, formula = . ~ ., margins=FALSE, aesthetics=list(), ...)

_A_r_g_u_m_e_n_t_s:

    data: default data frame

 formula: formula describing row and column layout, see 'reshape' for
          more details

 margins: a vector of names giving which margins to display, can
          include grand_row and grand_col or uss TRUE to display all
          margins

aesthetics: default list of aesthetic mappings (these can be colour,
          size, shape, line type - see individual grob functions for
          more details)

     ...: 

_D_e_t_a_i_l_s:

     This function creates the basic ggplot object which you can then
     furnish with graphical objets.  Here you will set up the default
     data frame, default aesthetics and the formula that will determine
     how the panels are broken apart.  See 'reshape' for more details
     on specifying the facetting formula and margin arguments.

     To get started, read the introductory vignette:
     'vignette("introduction", "ggplot")'

     Steps to create a plot:

        1.  Create a new plot.  ('p <- ggplot(mtcars,
           aesthetics=list(y=hp, x=mpg))')

        2.  Set scales (if necessary)

        3.  Add grobs to the plot ('ggpoint(p)')

     Simple grobs:

        *  'ggabline': line with given slope and intercept

        *  'ggarea': area (polygons with base on y=0)

        *  'ggjitter': jittered points (useful for discrete data)

        *  'ggline': lines (paths sorted by x-axis values)

        *  'ggpath': paths

        *  'ggpoint': points

        *  'ggpolygon': polygon (paths with the ends joined)

        *  'ggrect': rectangles

        *  'ggtext': text

        *  'ggtile': tiles, like a levelplot

     Complex grobs:

        *  'ggboxplot': box plot

        *  'ggcontour': contour lines

        *  'gg2density': 2d density countours

        *  'gghexagon': hexagon binned plot

        *  'gghistogram': histogram

        *  'ggquantile': quantile lines from a quantile regression

        *  'ggsmooth': smooths from any model family

     Look at the documentation of these objects to see many examples of
     ggplot in action.

     You will also want to add scales to the basic plot to give finer
     control over how the data values are mapped to aethetics
     attributes of the grobs. For scales that control position of the
     points see:

        *  'pscontinuous': continuous scales (with optional
           transformation)

        *  'pscategorical': categorical scales

     For other scales, see:

        *  'sccolour': colour categorical variables using Brewer colour
           scales

        *  'scgradient': colour continuous scales with a gradient

        *  'schcl': map continuous variable to hue, chroma or luminance
           components

        *  'schsv': map continuous variable to hue, saturation or value
           components

        *  'sclinetype': line type (solid, dashed, dotted, etc.)

        *  'scrgb': map continuous variable to red, green or blue
           components

        *  'scshape': point shape (glyph)

        *  'scsize': point or line size

     ggplot is different from base and lattice graphics in how you
     build up the plot. With ggplot you build up the plot object
     (rather than the plot on the screen as in base graphics, or all at
     once as in lattice graphics.)

     Each of the grob and scale functions adds the grob to the plot and
     returns the modified plot object.  This lets you quickly
     experiment with different versions of the plot, using different
     grobs or scales.  You can see how this works in the examples

     You can also use 'summary' to give a quick description of a plot.

_A_u_t_h_o_r(_s):

     Hadley Wickham <h.wickham@gmail.com>

_S_e_e _A_l_s_o:

     <URL: http://had.co.nz/ggplot>, 'stamp', 'reshape'

_E_x_a_m_p_l_e_s:

     p <- ggplot(tips)
     summary(p)
     ggpoint(p, aesthetic=list(y = tip, x=total_bill))
     p <- ggplot(tips, aesthetic=list(y = tip, x=total_bill))
     p$title <- "Tips"
     summary(p)
     ggpoint(p)
     ggpoint(p, list(colour=sex))
     ggpoint(ggplot(tips, . ~ sex,aesthetics = list(y = tip, x = total_bill)))
     p <- ggplot(tips, smoker ~ sex,aesthetics = list(y = tip, x = total_bill))
     ggpoint(p)
     ggsmooth(ggpoint(p))
     ggsmooth(ggpoint(p), method=lm, formula=y~x)
     ggsmooth(ggpoint(p), method=MASS::rlm, formula=y~x)
     ggabline(ggpoint(p), slope=c(0.1,0.15,0.2))
     (p2 <- ggabline(ggpoint(p, aes=list(colour=tip/total_bill)), slope=c(0.1,0.15,0.2)))
     summary(p2)
     scgradient(p2)
     scgradient(p2, midpoint=0.15, high="green", mid="yellow")

     p<-ggplot(tips, sex ~ smoker, aesthetics=list(x=tip/total_bill))
     gghistogram(p,scale="density")
     gghistogram(p,scale="density", breaks=seq(0,1, length=20))

     p<-ggplot(tips, . ~ smoker, aesthetics=list(x=sex, y=tip))
     ggboxplot(p)
     ggboxplot(ggjitter(p))

