{"id":13788904,"url":"https://github.com/slowkow/ggrepel","last_synced_at":"2025-05-13T19:06:16.567Z","repository":{"id":37318665,"uuid":"48962505","full_name":"slowkow/ggrepel","owner":"slowkow","description":":round_pushpin: Repel overlapping text labels away from each other in your ggplot2 figures.","archived":false,"fork":false,"pushed_at":"2024-11-04T15:51:47.000Z","size":40870,"stargazers_count":1233,"open_issues_count":38,"forks_count":95,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-04-28T00:43:40.247Z","etag":null,"topics":["cran","ggplot2","rstats","text","visualization"],"latest_commit_sha":null,"homepage":"https://ggrepel.slowkow.com","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slowkow.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"slowkow","custom":"paypal.me/KamilSlowikowski"}},"created_at":"2016-01-03T22:10:58.000Z","updated_at":"2025-04-10T14:58:04.000Z","dependencies_parsed_at":"2023-02-13T23:16:36.358Z","dependency_job_id":"4023db25-e217-4048-8f96-b6d7172357c1","html_url":"https://github.com/slowkow/ggrepel","commit_stats":{"total_commits":468,"total_committers":25,"mean_commits":18.72,"dds":"0.19017094017094016","last_synced_commit":"e94776b0a75b5c8f929c2e6ebb4c897135f6510a"},"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slowkow%2Fggrepel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slowkow%2Fggrepel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slowkow%2Fggrepel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slowkow%2Fggrepel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slowkow","download_url":"https://codeload.github.com/slowkow/ggrepel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254010808,"owners_count":21998993,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cran","ggplot2","rstats","text","visualization"],"created_at":"2024-08-03T21:00:55.417Z","updated_at":"2025-05-13T19:06:16.540Z","avatar_url":"https://github.com/slowkow.png","language":"R","funding_links":["https://github.com/sponsors/slowkow","paypal.me/KamilSlowikowski"],"categories":["R","Graphic Displays","ggplot"],"sub_categories":["Text"],"readme":"ggrepel \u003cimg src=\"man/figures/logo.svg\" width=\"181px\" align=\"right\" /\u003e\n============================================\n\n[![Build Status][bb]][githubactions] [![CRAN_Status_Badge][cb]][cran] [![CRAN_Downloads_Badge][db]][r-pkg]\n\n[bb]: https://github.com/slowkow/ggrepel/workflows/R-CMD-check/badge.svg\n[githubactions]: https://github.com/slowkow/ggrepel/actions?query=workflow%3AR-CMD-check\n\n[cb]: https://www.r-pkg.org/badges/version/ggrepel?color=blue\n[cran]: https://CRAN.R-project.org/package=ggrepel\n\n[db]: https://cranlogs.r-pkg.org/badges/ggrepel\n[r-pkg]: https://cranlogs.r-pkg.org\n\nOverview\n--------\n\nggrepel provides geoms for [ggplot2] to repel overlapping text labels:\n\n[ggplot2]: https://ggplot2.tidyverse.org\n\n- `geom_text_repel()`\n- `geom_label_repel()`\n\nText labels repel away from each other, away from data points, and away\nfrom edges of the plotting area.\n\n```r\nlibrary(ggrepel)\nggplot(mtcars, aes(wt, mpg, label = rownames(mtcars))) +\n  geom_text_repel() +\n  geom_point(color = 'red') +\n  theme_classic(base_size = 16)\n```\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://imgur.com/ii9ova8.gif\" /\u003e\n\u003c/p\u003e\n\nInstallation\n------------\n\n```r\n# The easiest way to get ggrepel is to install it from CRAN:\ninstall.packages(\"ggrepel\")\n\n# Or get the the development version from GitHub:\n# install.packages(\"devtools\")\ndevtools::install_github(\"slowkow/ggrepel\")\n```\n\nUsage\n-----\n\nSee the [examples] page to learn more about how to use ggrepel in your project.\n\n[examples]: https://ggrepel.slowkow.com/articles/examples.html\n\nExamples\n--------\n\nClick one of the images below to go to see the code example:\n\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#hide-some-of-the-labels\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/empty_string-1.png\" alt=\"Hide some of the labels\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#always-show-all-labels-even-when-they-have-too-many-overlaps\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/show_all_labels-1.png\" alt=\"Always show all labels, even when they have too many overlaps\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#do-not-repel-labels-from-data-points\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/point_size_na-1.png\" alt=\"Do not repel labels from data points\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#do-not-repel-labels-from-plot-panel-edges\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/plot_edges-1.png\" alt=\"Do not repel labels from plot (panel) edges\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#expand-the-scale-to-make-room-for-labels\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/expand_scale-1.png\" alt=\"Expand the scale to make room for labels\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#always-or-never-draw-line-segments\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/all_segments-1.png\" alt=\"Always (or never) draw line segments\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#make-curved-line-segments-or-arrows\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/line_curve-1.png\" alt=\"Make curved line segments or arrows\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#repel-labels-from-data-points-with-different-sizes\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/point_size_cars-1.png\" alt=\"Repel labels from data points with different\nsizes\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#limit-labels-to-a-specific-area\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/xlim-1.png\" alt=\"Limit labels to a specific area\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#remove-a-from-the-legend\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/remove_a_2-1.png\" alt=\"Remove “a” from the legend\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#align-labels-on-the-top-or-bottom-edge\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/direction_x-1.png\" alt=\"Align labels on the top or bottom edge\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#align-labels-on-the-left-or-right-edge\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/direction_y-1.png\" alt=\"Align labels on the left or right edge\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#using-ggrepel-with-stat_summary\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/stat_summary-1.png\" alt=\"Using ggrepel with stat_summary()\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#justify-multiple-lines-of-text-with-hjust\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/geom_text_repel-hjust-1.png\" alt=\"Justify multiple lines of text with hjust\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#label-jittered-points\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/jitter-1.png\" alt=\"Label jittered points\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#nudge-labels-in-different-directions-with-ggpp\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/position_nudge_center-1.png\" alt=\"Nudge labels in different directions with ggpp\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#label-sf-objects\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/label-sf-objects-1.png\" alt=\"Label sf objects\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#shadows-or-glow-under-text-labels\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/shadowtext-1.png\" alt=\"Shadows (or glow) under text labels\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#verbose-timing-information\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/timing-1.png\" alt=\"Verbose timing information\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#word-cloud\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/wordcloud-1.png\" alt=\"Word cloud\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#polar-coordinates\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/polar-1.png\" alt=\"Polar coordinates\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#unicode-characters-japanese\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/japanese-1.png\" alt=\"Unicode characters (Japanese)\"\u003e\u003c/img\u003e\u003c/a\u003e\n\u003ca href=\"https://ggrepel.slowkow.com/articles/examples.html#mathematical-expressions\"\u003e\u003cimg width=\"200\" src=\"https://raw.githubusercontent.com/slowkow/ggrepel/master/docs/articles/examples_files/figure-html/math-1.png\" alt=\"Mathematical expressions\"\u003e\u003c/img\u003e\u003c/a\u003e\n\n\nContributing\n------------\n\nPlease [submit an issue][issues] to report bugs or ask questions.\n\nPlease contribute bug fixes or new features with a [pull request][pull] to this\nrepository.\n\n[issues]: https://github.com/slowkow/ggrepel/issues\n[pull]: https://help.github.com/articles/using-pull-requests/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslowkow%2Fggrepel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslowkow%2Fggrepel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslowkow%2Fggrepel/lists"}