R 패키지 메타데이터와 수집 신호를 모아 봅니다.
첫 화면에서 판단해야 할 수집 신호를 먼저 배치합니다.
DESCRIPTION에서 감지한 backend 관련 package입니다.
기본 메타데이터를 작은 카드와 토큰으로 압축합니다.
| Package | Type | Spec |
|---|---|---|
| ggplot2 CRAN · 0.5.2 · 2026-05-30 | Imports | ggplot2 (>= 3.4.2) |
| grid CRAN · 0.5.2 · 2026-05-30 | Imports | grid |
| gridExtra CRAN · 0.5.2 · 2026-05-30 | Imports | gridExtra |
| gtable CRAN · 0.5.2 · 2026-05-30 | Imports | gtable |
| knitr CRAN · 0.5.2 · 2026-05-30 | Imports | knitr (>= 1.12) |
| lattice CRAN · 0.5.2 · 2026-05-30 | Imports | lattice |
| plyr CRAN · 0.5.2 · 2026-05-30 | Imports | plyr |
| scales CRAN · 0.5.2 · 2026-05-30 | Imports | scales |
| diffviewer CRAN · 0.5.2 · 2026-05-30 | Suggests | diffviewer |
| dplyr CRAN · 0.5.2 · 2026-05-30 | Suggests | dplyr |
| ggh4x CRAN · 0.5.2 · 2026-05-30 | Suggests | ggh4x |
| rmarkdown CRAN · 0.5.2 · 2026-05-30 | Suggests | rmarkdown |
| stringr CRAN · 0.5.2 · 2026-05-30 | Suggests | stringr |
| testthat CRAN · 0.5.2 · 2026-05-30 | Suggests | testthat |
| vdiffr CRAN · 0.5.2 · 2026-05-30 | Suggests | vdiffr |
| 검색 결과가 없습니다. | ||
| Package | Type | Spec |
|---|---|---|
| deident 1.0.0 CRAN · 2026-05-30 | Imports | lemon |
| ECDFniche 0.5 CRAN · 2026-05-30 | Imports | lemon |
| exploratory 0.3.31 CRAN · 2026-05-30 | Imports | lemon |
| ggauto 0.0.1 CRAN · 2026-05-30 | Imports | lemon |
| MultiGroupO 0.4.0 CRAN · 2026-05-30 | Imports | lemon |
| epifitter 1.0.0 CRAN · 2026-05-30 | Suggests | lemon |
| icpack 0.1.0 CRAN · 2026-05-30 | Suggests | lemon |
| robustlmm 3.4-3 CRAN · 2026-05-30 | Suggests | lemon |
| wcde 0.0.8 CRAN · 2026-05-30 | Suggests | lemon |
| 검색 결과가 없습니다. | ||
| Type | Packages |
|---|---|
| Imports | 5 |
| Suggests | 4 |
Help for package lemon const macros = { "\\R": "\\textsf{R}", "\\mbox": "\\text", "\\code": "\\texttt"}; function processMathHTML() { var l = document.getElementsByClassName('reqn'); for (let e of l) { katex.render(e.textContent, e, { throwOnError: false, macros }); } return; } Package {lemon} Contents lemon .dot annotate_y_axis as.lemon_plot brackets_horizontal coord_capped_cart coord_flex_cart facet_rep_grid g_legend geom_pointpath geom_siderange get_panel_range grid_arrange_shared_legend gtable_show_grill guidebox_as_column is.small lemon-ggproto lemon_print remove_labels_from_axis render_gpar reposition_legend scale_x_symmetric waiver Type: Package Title: Freshing Up your 'ggplot2' Plots URL: https://github.com/stefanedwards/lemon BugReports: https://github.com/stefanedwards/lemon/issues Version: 0.5.2 Description: Functions for working with legends and axis lines of 'ggplot2', facets that repeat axis lines on all panels, and some 'knitr' extensions. Depends: R (≥ 3.1.0) Imports: ggplot2 (≥ 3.4.2), plyr, grid, gridExtra, gtable, knitr (≥ 1.12), lattice, scales License: GPL-3 Encoding: UTF-8 RoxygenNote: 7.3.2 Collate: 'ggplot2.r' 'lemon-plot.r' 'axis-annotation.r' 'brackets.R' 'coord-flex.r' 'coord-capped.r' 'dot.r' 'facet-rep-lab.r' 'facet-wrap.r' 'geom-pointline.r' 'lemon_print.r' 'geom-siderange.r' 'grob_utils.r' 'gtable_show-.r' 'guides-axis.r' 'legends.r' 'lemon.r' 'scale-symmetric.r' Suggests: rmarkdown, stringr, ggh4x, dplyr, testthat, vdiffr, diffviewer VignetteBuilder: knitr NeedsCompilation: no Packaged: 2025-09-04 10:55:16 UTC; root Author: Stefan McKinnon Edwards [aut, ctb, cre], Baptiste Auguie [ctb] (For g_legend and grid_arrange_shared_legend), Shaun Jackman [ctb] (For grid_arrange_shared_legend), Hadley Wickham [ctb] (ggplot2 functions), Winston Chang [ctb] (ggplot2 functions) Maintainer: Stefan McKinnon Edwards <sme@iysik.com> Repository: CRAN Date/Publication: 2025-09-04 11:50:02 UTC Freshing up your ggplots Description Collection of misc. functions for changing subtle aspects of ggplots. Works mostly on gtables produced prior to printing. Functions for axis See coord_capped_cart and coord_flex_cart . The latter is a shorthand version of the former. It automatically uses capped_horizontal and capped_vertical , but both accepts these as well as brackets_horizontal and brackets_vertical . Legends Extract legend g_legend Many plots, one legend grid_arrange_shared_legend Place legend exactly on plot reposition_legend Facets facet_rep_grid and facet_rep_wrap are extensions to the wellknown facet_grid and facet_wrap where axis lines and labels are drawn on all panels. Extending knitr We automatically load knitr's knit_print for data frames and dplyr tables to provide automatic pretty printing of data frame using kable . See lemon_print or vignette('lemon_print', 'lemon') . Relative paths safe from hanging directory: .dot . Author(s) Stefan McKinnon Edwards <sme@iysik.com> Contributions from Baptiste Auguié on g_legend and grid_arrange_shared_legend . Contributions from Shaun Jackman on grid_arrange_shared_legend . Source https://github.com/stefanedwards/lemon See Also Useful links: https://github.com/stefanedwards/lemon Report bugs at https://github.com/stefanedwards/lemon/issues Create paths that are safe from changing working directory. Description The .dot functions creates functions that allows relative-like specification of paths, but are safe from changing working directory. Usage .dot(x, root = getwd(), mustExist = FALSE, relative = FALSE, create = TRUE) .dot2(names, quiet = FALSE, ...) Arguments x File path that is appended to BASEDIR . root Root of your working directory, from which x is relative too. mustExist Logical value; if TRUE and the resulting path does not exist, it raises an error. relative For .dot , sets default for the returned function. For the returned function, when TRUE , the function returns a path relative to root . create Logical values, creates the target directory when TRUE (default). names Character vector of names quiet Logical value, suppresses output to stdout() when TRUE . ... Arguments passed on to .dot . Value A function that returns file paths constructed from root , x , and ... . Side effect: It creates the directory. Examples .data <- .dot('data', create=FALSE) .data('input.txt') .data(c('a.txt','b.txt')) .dot2(c('rawdata','results'), create=FALSE) .rawdata('rawfile.csv') .results('myresults.txt') Annotations on the axis Description Annotations on the axis Usage annotate_y_axis( label, y, side = waiver(), print_label = TRUE, print_value = TRUE, print_both = TRUE, parsed = FALSE, ... ) annotate_x_axis( label, x, side = waiver(), print_label = TRUE, print_value = TRUE, print_both = TRUE, parsed = FALSE, ... ) Arguments label Text to print y , x Position of the annotation. side left or right, or top or bottom side to print annotation print_label , print_value , print_both Logical; what to show on annotation. Label and/or value. print_both is shortcut for setting both print_label and print_value . When both is TRUE, uses argument sep to separate the label and value. parsed Logical (default FALSE ), when TRUE , uses mathplot for outputting expressions. See section "Showing values". ... Style settings for label and tick: colour, hjust, vjust, size, fontface, family, rot. When waiver() (default), the relevant theme element is used. Showing values See plotmath for using mathematical expressions. The function uses a simple replacement strategy where the literal strings .(y) and .(val) are replaced by the value after round of to a number of digits, as given by argument digits . Examples library(ggplot2) p <- ggplot(mtcars, aes(mpg, hp, colour=disp)) + geom_point() l <- p + annotate_y_axis('mark at', y=200, tick=TRUE) l (l + annotate_x_axis('| good economy ->', x=25, print_value=FALSE, hjust=0, tick=TRUE)) l + annotate_y_axis("x^2 == .(y)", y=150, parsed=FALSE, tick=FALSE) + annotate_y_axis("x^2 + bar(x) == .(y)", y=mean(mtcars$hp), parsed=TRUE, tick=TRUE) l + annotate_y_axis("bar(x) == .(y)", y = mean(mtcars$hp), parsed=TRUE, tick=FALSE) # use double equal signs, or the output becomes '=(...)' for some reason. l + annotate_y_axis('this is midway', y=sum(range(mtcars$hp))/2, print_value = FALSE, side='left') # work around if an axis only contains parsed expressions p + annotate_y_axis("bar(x) == .(y)", y = mean(mtcars$hp), parsed=TRUE, tick=FALSE) + annotate_y_axis("some long string", y=100, tick=FALSE, print_value=FALSE, colour=NA) # Works together with other functions p <- p + theme_light() + theme(panel.border=element_blank(), axis.line = element_line(), axis.ticks = element_line(colour='black')) p + coord_capped_cart(bottom='right') + annotate_y_axis('More than I\ncan afford', y=125, print_value=FALSE, tick=TRUE) Lemon plots; ggplots with extended functionality. Description Lemon plot basically hijacks ggplot2's building process and allows us to change some things. Used by annotate_y_axis . Usage as.lemon_plot(plot) ## S3 method for class 'lemon_plot' ggplot_build(plot, ...) ## S3 method for class 'built_lemon' ggplot_gtable(data) Arguments plot ggplot object Axis brackets instead of axis ticks and lines Description To be used with coord_flex_cart , coord_capped_cart , etc. for displaying brackets instead of the axis ticks and lines. Usage brackets_horizontal( direction = c("up", "down"), length = unit(0.05, "npc"), tick.length = waiver() ) brackets_vertical( direction = c("left", "right"), length = unit(0.05, "npc"), tick.length = waiver() ) Arguments direction Which way should the opening side of the brackets point? up, down, left, or right? length Length of the unit, parallel with axis line. tick.length Height (width) of x-axis (y-axis) bracket. If waiver() (default), use axis.ticks.length from theme . Details The looks of the brackets are taken from theme(axis.ticks) , or theme(axis.ticks.x) and theme(axis.ticks.y) , respectively. It does not re-calculate tick marks, but lets scale_x_* anThe .dot functions creates functions that allows relative-like specification of paths, but are safe from changing working directory.
.dot(x, root = getwd(), mustExist = FALSE, relative = FALSE, create = TRUE) .dot2(names, quiet = FALSE, ...).data <- .dot('data', create=FALSE) .data('input.txt') .data(c('a.txt','b.txt')) .dot2(c('rawdata','results'), create=FALSE) .rawdata('rawfile.csv') .results('myresults.txt')Annotations on the axis
annotate_y_axis( label, y, side = waiver(), print_label = TRUE, print_value = TRUE, print_both = TRUE, parsed = FALSE, ... ) annotate_x_axis( label, x, side = waiver(), print_label = TRUE, print_value = TRUE, print_both = TRUE, parsed = FALSE, ... )library(ggplot2) p <- ggplot(mtcars, aes(mpg, hp, colour=disp)) + geom_point() l <- p + annotate_y_axis('mark at', y=200, tick=TRUE) l (l + annotate_x_axis('| good economy ->', x=25, print_value=FALSE, hjust=0, tick=TRUE)) l + annotate_y_axis("x^2 == .(y)", y=150, parsed=FALSE, tick=FALSE) + annotate_y_axis("x^2 + bar(x) == .(y)", y=mean(mtcars$hp), parsed=TRUE, tick=TRUE) l + annotate_y_axis("bar(x) == .(y)", y = mean(mtcars$hp), parsed=TRUE, tick=FALSE) # use double equal signs, or the output becomes '=(...)' for some reason. l + annotate_y_axis('this is midway', y=sum(range(mtcars$hp))/2, print_value = FALSE, side='left') # work around if an axis only contains parsed expressions p + annotate_y_axis("bar(x) == .(y)", y = mean(mtcars$hp), parsed=TRUE, tick=FALSE) + annotate_y_axis("some long string", y=100, tick=FALSE, print_value=FALSE, colour=NA) # Works together with other functions p <- p + theme_light() + theme(panel.border=element_blank(), axis.line = element_line(), axis.ticks = element_line(colour='black')) p + coord_capped_cart(bottom='right') + annotate_y_axis('More than I afford', y=125, print_value=FALSE, tick=TRUE)Lemon plot basically hijacks ggplot2's building process and allows us to change some things. Used by annotate_y_axis.
as.lemon_plot(plot) ggplot_buildlemon_plot(plot, ...) ggplot_gtablebuilt_lemon(data)To be used with coord_flex_cart, coord_capped_cart, etc. for displaying brackets instead of the axis ticks and lines.
brackets_horizontal( direction = c("up", "down"), length = unit(0.05, "npc"), tick.length = waiver() ) brackets_vertical( direction = c("left", "right"), length = unit(0.05, "npc"), tick.length = waiver() )library(ggplot2) p <- ggplot(mpg, aes(as.factor(cyl), hwy, colour=class)) + geom_point(position=position_jitter(width=0.3)) + theme_bw() + theme(panel.border = element_blank(), axis.line = element_line()) p p <- p + coord_flex_cart(bottom=brackets_horizontal(length=unit(0.08, 'npc'))) p # However getting the correct width is a matter of tweaking either length or # position_jitter... # A further adjustment, p + theme(panel.grid.major.x = element_blank())Caps the axis lines to the outer ticks to e.g. indicate range of values. Methods correspond to [ggplot2]coord_cartesian and [ggplot2]coord_flip
coord_capped_cart( xlim = NULL, ylim = NULL, expand = TRUE, top = waiver(), left = waiver(), bottom = waiver(), right = waiver(), gap = 0.01 ) coord_capped_flip( xlim = NULL, ylim = NULL, expand = TRUE, top = waiver(), left = waiver(), bottom = waiver(), right = waiver(), gap = 0.01 ) capped_horizontal(capped = c("both", "left", "right", "none"), gap = 0.01) capped_vertical(capped = c("top", "bottom", "both", "none"), gap = 0.01)library(ggplot2) # Notice how the axis lines of the following plot meet in the lower-left corner. p <- ggplot(mtcars, aes(x = mpg)) + geom_dotplot() + theme_bw() + theme(panel.border=element_blank(), axis.line=element_line()) p # We can introduce a gap by capping the ends: p + coord_capped_cart(bottom='none', left='none') # The lower limit on the y-axis is 0. We can cap the line to this value. # Notice how the x-axis line extends through the plot when we no long # define its capping. p + coord_capped_cart(left='both') # It it also works on the flipped. p + coord_capped_flip(bottom='both') # And on secondary axis, in conjuction with brackets: p + scale_y_continuous(sec.axis = sec_axis(~.*100)) + scale_x_continuous(sec.axis = sec_axis(~1/., name='Madness scale')) + coord_capped_cart(bottom='none', left='none', right='both', top=brackets_horizontal()) # Although we cannot recommend the above madness.Allows user to inject a function for drawing axes, such as capped_horizontal or brackets_horizontal.
coord_flex_cart( xlim = NULL, ylim = NULL, expand = TRUE, top = waiver(), left = waiver(), bottom = waiver(), right = waiver() ) coord_flex_flip( xlim = NULL, ylim = NULL, expand = TRUE, top = waiver(), left = waiver(), bottom = waiver(), right = waiver() ) coord_flex_fixed( ratio = 1, xlim = NULL, ylim = NULL, expand = TRUE, top = waiver(), left = waiver(), bottom = waiver(), right = waiver() )library(ggplot2) # A standard plot p <- ggplot(mtcars, aes(disp, wt)) + geom_point() + geom_smooth() + theme(panel.border=element_blank(), axis.line=element_line()) # We desire that left axis does not extend beyond '6' # and the x-axis is unaffected p + coord_capped_cart(left='top') # Specifying 'bottom' caps the axis with at most the length of 'gap' p + coord_capped_cart(left='top', bottom='none') # We can specify a ridiculus large 'gap', but the lines will always # protrude to the outer most ticks. p + coord_capped_cart(left='top', bottom='none', gap=2) # We can use 'capped_horizontal' and 'capped_vertical' to specify for # each axis individually. p + coord_capped_cart(left='top', bottom=capped_horizontal('none', gap=2)) # At this point we might as well drop using the short-hand and go full on: p + coord_flex_cart(left=brackets_vertical(), bottom=capped_horizontal('left')) # Also works with secondary axes: p + scale_y_continuous(sec.axis=sec_axis(~5*., name='wt times 5')) + coord_flex_cart(left=brackets_vertical(), bottom=capped_horizontal('right'), right=capped_vertical('both', gap=0.02)) # Supports the usual 'coord_fixed': p + coord_flex_fixed(ratio=1.2, bottom=capped_horizontal('right')) # and coord_flip: p + coord_flex_flip(ylim=c(2,5), bottom=capped_horizontal('right'))[ggplot2]facet_grid and [ggplot2]facet_wrap, but with axis lines and labels preserved on all panels. These extensions have been deprecated in lemon v. 0.5.1 and replacements can be found in [ggh4x](https://teunbrand.github.io/ggh4x/articles/Facets.html).
facet_rep_grid(..., repeat.tick.labels = FALSE) facet_rep_wrap(..., scales = "fixed", repeat.tick.labels = FALSE)Extracts the legend ('guide-box') from a ggplot2 object.
g_legend(a.gplot)library(ggplot2) library(gtable) library(grid) library(gridExtra) library(gtable) dsamp <- diamonds[sample(nrow(diamonds), 1000), ] (d <- ggplot(dsamp, aes(carat, price)) + geom_point(aes(colour = clarity)) + theme(legend.position='bottom')) legend <- g_legend(d) grid.newpage() grid.draw(legend) (d2 <- ggplot(dsamp, aes(x=carat, fill=clarity)) + geom_histogram(binwidth=0.1) + theme(legend.position='bottom')) grid.arrange(d + theme(legend.position='hidden'), d2 + theme(legend.position='hidden'), bottom=legend$grobs[[1]]) # Above fails with more than one guide legend2 <- gtable_filter(ggplotGrob(d), 'guide-box') grid.arrange(d + theme(legend.position='hidden'), d2 + theme(legend.position='hidden'), bottom=legend2$grobs[[1]]$grobs[[1]]) # Above fails with more than one guideGeoms are soft-deprecated, and will not be supported in the future. Please use the https://cran.r-project.org/package=ggh4xggh4x-package. geom_pointpath combines [ggplot2]geom_point and [ggplot2]geom_path, such that a) when jittering is used, both lines and points stay connected, and b) provides a visual effect by adding a small gap between the point and the end of line. geom_pointline combines [ggplot2]geom_point and [ggplot2]geom_path.
geom_pointpath( mapping = NULL, data = NULL, stat = "identity", position = "identity", na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, distance = unit(3, "pt"), shorten = 0.5, threshold = 0.1, lineend = "butt", linejoin = "round", linemitre = 1, linesize = 0.5, linecolour = waiver(), linecolor = waiver(), arrow = NULL, ... ) geom_pointline( mapping = NULL, data = NULL, stat = "identity", position = "identity", na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, distance = unit(3, "pt"), shorten = 0.5, threshold = 0.1, lineend = "butt", linejoin = "round", linemitre = 1, linesize = 0.5, linecolour = waiver(), linecolor = waiver(), arrow = NULL, ... ) geom_pointrangeline( mapping = NULL, data = NULL, stat = "identity", position = "identity", na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, distance = unit(3, "pt"), lineend = "butt", linejoin = "round", linemitre = 1, linesize = 0.5, linecolour = waiver(), linecolor = waiver(), arrow = NULL, ... )# geom_point examples library(ggplot2) p <- ggplot(mtcars, aes(wt, mpg)) p + geom_point() + geom_line() p + geom_pointline() p + geom_pointline(linecolour='brown') p + geom_pointpath() # Add aesthetic mappings p + geom_pointline(aes(colour = factor(cyl))) # Using linecolour preserved groups. p + geom_pointline(aes(colour = factor(cyl)), linecolour='brown') ## If you want to combine the pretty lines of pointline that do *not* respect ## grouping (or order), combine several layers with geom_point on top: p + geom_pointline() + geom_point(aes(colour=factor(cyl))) # Change scales p + geom_pointline(aes(colour = cyl)) + scale_colour_gradient(low = "blue") p + geom_pointline(aes(colour = cyl), linecolour='black') + scale_colour_gradient(low = "blue") p + geom_pointline(aes(shape = factor(cyl))) + scale_shape(solid = FALSE) # For shapes that have a border (like 21), you can colour the inside and # outside separately. Use the stroke aesthetic to modify the width of the # border ggplot(mtcars, aes(wt, mpg)) + geom_pointline(shape = 21, colour = "black", fill = "white", size = 5, stroke = 5, distance = unit(10, 'pt')) ## Another example df <- data.frame(x=rep(c('orange','apple','pear'), each=3), b=rep(c('red','green','purple'), times=3), y=runif(9)) ggplot(df, aes(x=x, y=y, colour=b, group=b)) + geom_pointline(linesize=1, size=2, distance=6) + theme_bw() # geom_pointline() is suitable for time series ggplot(economics, aes(date, unemploy)) + geom_pointline() ggplot(economics_long, aes(date, value01, colour = variable)) + geom_pointline()Projects data onto horizontal or vertical edge of panels.
geom_siderange( mapping = NULL, data = NULL, stat = "identity", position = "identity", ..., distance = 3, arrow = NULL, lineend = "butt", sides = "bl", start = NA, end = NA, na.rm = FALSE, show.legend = NA, inherit.aes = TRUE )library(ggplot2) x <- rnorm(25) df <- data.frame(x=x, y=x+rnorm(25, sd=0.2), a=sample(c('horse','goat'), 25, replace=TRUE), stringsAsFactors = FALSE) df$y <- with(df, ifelse(y > 1 & a=='horse', 1, y)) (p <- ggplot(df, aes(x=x, y=y, colour=a)) + geom_point(shape=1)) p + geom_siderange(start=19) # Capping the sideranges with different symbols: p + geom_siderange(start=19, end=22, fill='black', sides='b') + geom_siderange(sides='tl') # It also works with facets p <- ggplot(mpg, aes(displ, hwy, colour=fl)) + geom_point() + facet_wrap(~class, nrow = 4) p + geom_siderange()The names of the internal layout objects from ggplot_build changed slightly.
get_panel_y_range(layout, index = 1) get_panel_x_range(layout, index = 1) get_panel_params(layout, index = 1)Visualises the table structure or the names of the gtable's components.
gtable_show_grill(x, plot = TRUE) gtable_show_names( x, plot = TRUE, rect.gp = grid::gpar(col = "black", fill = "white", alpha = 1/4) )library(ggplot2) library(gtable) library(grid) p <- ggplot(mtcars, aes(wt, mpg)) + geom_point() gtable_show_grill(p) library(ggplot2) library(gtable) library(grid) p <- ggplot(mtcars, aes(wt, mpg)) + geom_point() gtable_show_names(p)Takes a plot or legend and returns a single guide-box in a single column, for embedding in e.g. tables.
guidebox_as_column(legend, which.legend = 1, add.title = FALSE)library(ggplot2) p <- ggplot(diamonds, aes(x=x, y=y, colour=cut)) + geom_point() guidebox_as_column(p) p <- p + guides(colour=guide_legend(ncol=2, byrow=TRUE)) guidebox_as_column(p)Uses a holistic approach to determine whether a unit is 'small', i.e. less than 1 cm, 1 line, 10 pt, or 0.4 in.
is.small(x)Collection of misc. functions for changing subtle aspects of ggplots. Works mostly on gtables produced prior to printing.
https://github.com/stefanedwards/lemonIf you are creating a new geom, stat, position, or scale in another package, you'll need to extend from ggplot2::Geom, ggplot2::Stat, ggplot2::Position, or ggplot2::Scale.
Convenience function for working with R Notebooks that ensures data frames (and dplyr tables) are printed with [knitr]kable while allowing RStudio to render the data frame dynamically for inline display.
lemon_print(x, options, ...) lemon_printdata.frame(x, options, ...) lemon_printtable(x, options, ...)Called from FacetGridRepeatLabels.
remove_labels_from_axis(axisgrob, direction = c("horizontal", "vertical"))Helps add the ggplot2-theme's look-and-feel to grid's grob objects. render_gpar returns a [grid]gpar-object, element_render returns a [grid]grid.grob-object.
render_gpar(theme, element, ...)Repositions a legend onto a panel, by either taking it from the same ggplot, or by using another. Works on both ggplot2 and gtable objects, and can accept any grob as legend.
reposition_legend( aplot, position = NULL, legend = NULL, panel = "panel", x = NULL, y = NULL, just = NULL, name = "guide-box", clip = "on", offset = c(0, 0), z = Inf, plot = TRUE )library(ggplot2) dsamp <- diamonds[sample(nrow(diamonds), 1000), ] (d <- ggplot(dsamp, aes(carat, price)) + geom_point(aes(colour = clarity))) reposition_legend(d + theme(legend.position='bottom'), 'bottom right') # To change the orientation of the legend, use theme's descriptors. reposition_legend(d + theme(legend.position='bottom'), 'top left') # Use odd specifications, here offset the legend with half its height from the bottom. reposition_legend(d + theme(legend.position='bottom'), x=0.3, y=0, just=c(0, -0.5)) # For using with facets (panel name may vary depending on ggplot2 version): try(reposition_legend(d + facet_grid(.~cut), 'top left', panel = 'panel-5-1')) try(reposition_legend(d + facet_grid(.~cut), 'top left', panel = 'panel-1-5'))scale_x_symmetric and scale_y_symmetric are like the default scales for continuous x and y, but ensures that the resulting scale is centered around mid. Does not work when setting limits on the scale.
scale_x_symmetric(mid = 0, ...) scale_y_symmetric(mid = 0, ...)library(ggplot2) df <- expand.grid(a=c(-1,0,1), b=c(-1,0,1)) rnorm2 <- function(x,y,n,sdx,sdy) if (missing(sdy)) sdy <- sdx data.frame(a=x,b=y,x=rnorm(n,x,sdx), y=rnorm(n,y,sdy)) df <- mapply(rnorm2,df$a, df$b, MoreArgs=list(n=30,sdx=1),SIMPLIFY=FALSE) df <- do.call(rbind, df) (p <- ggplot(df, aes(x=x,y=y)) + geom_point() + facet_grid(a~b, scales='free_x') ) p + scale_x_symmetric(mid=0)The waivers are from ggplot2/R/utilities.r. From R/guide-axis.r
waiver() is.waive(x) a %|W|% b a %||% b guide_axis(at, labels, position = "right", theme, label_element, gp_df)| Repository | Version | Published | First seen | Last seen | Docs |
|---|---|---|---|---|---|
| CRAN | 0.5.2 | 2026-05-29 | 2026-05-30 |
표시할 OSV 데이터가 없습니다.
표시할 OpenAlex 데이터가 없습니다.