

{"id":4254,"date":"2016-04-07T18:19:22","date_gmt":"2016-04-07T23:19:22","guid":{"rendered":"http:\/\/rud.is\/b\/?p=4254"},"modified":"2018-03-07T16:42:45","modified_gmt":"2018-03-07T21:42:45","slug":"geom_lollipop-by-the-chartettes","status":"publish","type":"post","link":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/","title":{"rendered":"geom_lollipop() by the Chartettes"},"content":{"rendered":"<p>>UPDATE: Changed code to reflect the new `horizontal` parameter for `geom_lollipop()`<\/p>\n<p>I make a fair share of bar charts throughout the day and really like switching to lollipop charts to mix things up a bit and enhance the visual appeal. They&#8217;re easy to do in `ggplot2`, just use your traditional `x` &#038; `y` mapping for `geom_point()` and then use (you probably want to call this first, actually) `geom_segment()` mapping the `yend` aesthetic to `0` and the `xend` aesthetic to the same thing you used for the `x` aesthetic. But, that&#8217;s alot of typing. Hence, the need for `geom_lollipop()`.<\/p>\n<p>I&#8217;ll build this example from one [provided by Stephanie Evergreen](http:\/\/stephanieevergreen.com\/lollipop\/) (that one&#8217;s in Excel). It&#8217;s not much code:<\/p>\n<pre id=\"prism-r-code\"><code class=\"language-r\">df &lt;- read.csv(text=&quot;category,pct\r\nOther,0.09\r\nSouth Asian\/South Asian Americans,0.12\r\nInterngenerational\/Generational,0.21\r\nS Asian\/Asian Americans,0.25\r\nMuslim Observance,0.29\r\nAfrica\/Pan Africa\/African Americans,0.34\r\nGender Equity,0.34\r\nDisability Advocacy,0.49\r\nEuropean\/European Americans,0.52\r\nVeteran,0.54\r\nPacific Islander\/Pacific Islander Americans,0.59\r\nNon-Traditional Students,0.61\r\nReligious Equity,0.64\r\nCaribbean\/Caribbean Americans,0.67\r\nLatino\/Latina,0.69\r\nMiddle Eastern Heritages and Traditions,0.73\r\nTrans-racial Adoptee\/Parent,0.76\r\nLBGTQ\/Ally,0.79\r\nMixed Race,0.80\r\nJewish Heritage\/Observance,0.85\r\nInternational Students,0.87&quot;, stringsAsFactors=FALSE, sep=&quot;,&quot;, header=TRUE)\r\n\r\n# devtools::install_github(&quot;hrbrmstr\/ggalt&quot;)\r\nlibrary(ggplot2)\r\nlibrary(ggalt)\r\nlibrary(scales)\r\n\r\ngg &lt;- ggplot(df, aes(y=reorder(category, pct), x=pct))\r\ngg &lt;- gg + geom_lollipop(point.colour=&quot;steelblue&quot;, point.size=3, horizontal=TRUE)\r\ngg &lt;- gg + scale_x_continuous(expand=c(0,0), labels=percent,\r\n                              breaks=seq(0, 1, by=0.2), limits=c(0, 1))\r\ngg &lt;- gg + coord_flip()\r\ngg &lt;- gg + labs(x=NULL, y=NULL, \r\n                title=&quot;SUNY Cortland Multicultural Alumni survey results&quot;,\r\n                subtitle=&quot;Ranked by race, ethnicity, home land and orientation\\namong the top areas of concern&quot;,\r\n                caption=&quot;Data from http:\/\/stephanieevergreen.com\/lollipop\/&quot;)\r\ngg &lt;- gg + theme_minimal(base_family=&quot;Arial Narrow&quot;)\r\ngg &lt;- gg + theme(panel.grid.major.y=element_blank())\r\ngg &lt;- gg + theme(panel.grid.minor=element_blank())\r\ngg &lt;- gg + theme(axis.line.y=element_line(color=&quot;#2b2b2b&quot;, size=0.15))\r\ngg &lt;- gg + theme(axis.text.y=element_text(margin=margin(r=-5, l=0)))\r\ngg &lt;- gg + theme(plot.margin=unit(rep(30, 4), &quot;pt&quot;))\r\ngg &lt;- gg + theme(plot.title=element_text(face=&quot;bold&quot;))\r\ngg &lt;- gg + theme(plot.subtitle=element_text(margin=margin(b=10)))\r\ngg &lt;- gg + theme(plot.caption=element_text(size=8, margin=margin(t=10)))\r\ngg<\/code><\/pre>\n<p>And, I&#8217;ll reiterate Stephanie&#8217;s note that the data is fake.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?ssl=1\" rel=\"attachment wp-att-4255\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"4255\" data-permalink=\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/download\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=1344%2C1248&amp;ssl=1\" data-orig-size=\"1344,1248\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"download\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=300%2C279&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=510%2C474&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?w=510&#038;ssl=1\" alt=\"download\"  class=\"aligncenter size-full wp-image-4255\" \/><\/a><\/p>\n<p>Compare it with it&#8217;s sister bar chart:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download1.png?ssl=1\" rel=\"attachment wp-att-4258\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"4258\" data-permalink=\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/download1\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download1.png?fit=1344%2C1248&amp;ssl=1\" data-orig-size=\"1344,1248\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"download1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download1.png?fit=300%2C279&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download1.png?fit=510%2C474&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download1.png?w=510&#038;ssl=1\" alt=\"download1\"  class=\"aligncenter size-full wp-image-4258\" \/><\/a><\/p>\n<p>to see which one you think works better (it really does come down to personal aesthetics choice).<\/p>\n<p>You can find it in the development version of [`ggalt`](https:\/\/github.com\/hrbrmstr\/ggalt). The API is not locked in yet so definitely provide feedback in the issues.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>>UPDATE: Changed code to reflect the new `horizontal` parameter for `geom_lollipop()` I make a fair share of bar charts throughout the day and really like switching to lollipop charts to mix things up a bit and enhance the visual appeal. They&#8217;re easy to do in `ggplot2`, just use your traditional `x` &#038; `y` mapping for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4255,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[678,673,674,753,91],"tags":[810],"class_list":["post-4254","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-visualization","category-datavis-2","category-dataviz","category-ggplot","category-r","tag-post"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>geom_lollipop() by the Chartettes - rud.is<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"geom_lollipop() by the Chartettes - rud.is\" \/>\n<meta property=\"og:description\" content=\"&gt;UPDATE: Changed code to reflect the new `horizontal` parameter for `geom_lollipop()` I make a fair share of bar charts throughout the day and really like switching to lollipop charts to mix things up a bit and enhance the visual appeal. They&#8217;re easy to do in `ggplot2`, just use your traditional `x` &#038; `y` mapping for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/\" \/>\n<meta property=\"og:site_name\" content=\"rud.is\" \/>\n<meta property=\"article:published_time\" content=\"2016-04-07T23:19:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-03-07T21:42:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=1344%2C1248&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1344\" \/>\n\t<meta property=\"og:image:height\" content=\"1248\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"hrbrmstr\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"hrbrmstr\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/\"},\"author\":{\"name\":\"hrbrmstr\",\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"headline\":\"geom_lollipop() by the Chartettes\",\"datePublished\":\"2016-04-07T23:19:22+00:00\",\"dateModified\":\"2018-03-07T21:42:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/\"},\"wordCount\":203,\"commentCount\":18,\"publisher\":{\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"image\":{\"@id\":\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=1344%2C1248&ssl=1\",\"keywords\":[\"post\"],\"articleSection\":[\"Data Visualization\",\"DataVis\",\"DataViz\",\"ggplot\",\"R\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/\",\"url\":\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/\",\"name\":\"geom_lollipop() by the Chartettes - rud.is\",\"isPartOf\":{\"@id\":\"https:\/\/rud.is\/b\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=1344%2C1248&ssl=1\",\"datePublished\":\"2016-04-07T23:19:22+00:00\",\"dateModified\":\"2018-03-07T21:42:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=1344%2C1248&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=1344%2C1248&ssl=1\",\"width\":1344,\"height\":1248},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/rud.is\/b\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"geom_lollipop() by the Chartettes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/rud.is\/b\/#website\",\"url\":\"https:\/\/rud.is\/b\/\",\"name\":\"rud.is\",\"description\":\"&quot;In God we trust. All others must bring data&quot;\",\"publisher\":{\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/rud.is\/b\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\",\"name\":\"hrbrmstr\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\",\"url\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\",\"width\":460,\"height\":460,\"caption\":\"hrbrmstr\"},\"logo\":{\"@id\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\"},\"description\":\"Don't look at me\u2026I do what he does \u2014 just slower. #rstats avuncular \u2022 ?Resistance Fighter \u2022 Cook \u2022 Christian \u2022 [Master] Chef des Donn\u00e9es de S\u00e9curit\u00e9 @ @rapid7\",\"sameAs\":[\"http:\/\/rud.is\"],\"url\":\"https:\/\/rud.is\/b\/author\/hrbrmstr\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"geom_lollipop() by the Chartettes - rud.is","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/","og_locale":"en_US","og_type":"article","og_title":"geom_lollipop() by the Chartettes - rud.is","og_description":">UPDATE: Changed code to reflect the new `horizontal` parameter for `geom_lollipop()` I make a fair share of bar charts throughout the day and really like switching to lollipop charts to mix things up a bit and enhance the visual appeal. They&#8217;re easy to do in `ggplot2`, just use your traditional `x` &#038; `y` mapping for [&hellip;]","og_url":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/","og_site_name":"rud.is","article_published_time":"2016-04-07T23:19:22+00:00","article_modified_time":"2018-03-07T21:42:45+00:00","og_image":[{"width":1344,"height":1248,"url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=1344%2C1248&ssl=1","type":"image\/png"}],"author":"hrbrmstr","twitter_card":"summary_large_image","twitter_misc":{"Written by":"hrbrmstr","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#article","isPartOf":{"@id":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/"},"author":{"name":"hrbrmstr","@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"headline":"geom_lollipop() by the Chartettes","datePublished":"2016-04-07T23:19:22+00:00","dateModified":"2018-03-07T21:42:45+00:00","mainEntityOfPage":{"@id":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/"},"wordCount":203,"commentCount":18,"publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"image":{"@id":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=1344%2C1248&ssl=1","keywords":["post"],"articleSection":["Data Visualization","DataVis","DataViz","ggplot","R"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/","url":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/","name":"geom_lollipop() by the Chartettes - rud.is","isPartOf":{"@id":"https:\/\/rud.is\/b\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#primaryimage"},"image":{"@id":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=1344%2C1248&ssl=1","datePublished":"2016-04-07T23:19:22+00:00","dateModified":"2018-03-07T21:42:45+00:00","breadcrumb":{"@id":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#primaryimage","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=1344%2C1248&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=1344%2C1248&ssl=1","width":1344,"height":1248},{"@type":"BreadcrumbList","@id":"https:\/\/rud.is\/b\/2016\/04\/07\/geom_lollipop-by-the-chartettes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rud.is\/b\/"},{"@type":"ListItem","position":2,"name":"geom_lollipop() by the Chartettes"}]},{"@type":"WebSite","@id":"https:\/\/rud.is\/b\/#website","url":"https:\/\/rud.is\/b\/","name":"rud.is","description":"&quot;In God we trust. All others must bring data&quot;","publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rud.is\/b\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886","name":"hrbrmstr","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","width":460,"height":460,"caption":"hrbrmstr"},"logo":{"@id":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1"},"description":"Don't look at me\u2026I do what he does \u2014 just slower. #rstats avuncular \u2022 ?Resistance Fighter \u2022 Cook \u2022 Christian \u2022 [Master] Chef des Donn\u00e9es de S\u00e9curit\u00e9 @ @rapid7","sameAs":["http:\/\/rud.is"],"url":"https:\/\/rud.is\/b\/author\/hrbrmstr\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/download.png?fit=1344%2C1248&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p23idr-16C","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":5050,"url":"https:\/\/rud.is\/b\/2017\/02\/15\/ggalt-0-4-0-now-on-cran\/","url_meta":{"origin":4254,"position":0},"title":"ggalt 0.4.0 now on CRAN","author":"hrbrmstr","date":"2017-02-15","format":false,"excerpt":"I'm uncontainably excited to report that the ggplot2 extension package ggalt is now on CRAN. The absolute best part of this package is the R community members who contributed suggestions and new geoms, stats, annotations and integration features. This release would not be possible without the PRs from: Ben Bolker\u2026","rel":"","context":"In &quot;ggplot&quot;","block_context":{"text":"ggplot","link":"https:\/\/rud.is\/b\/category\/ggplot\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/02\/RStudio-1.png?fit=1200%2C510&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/02\/RStudio-1.png?fit=1200%2C510&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/02\/RStudio-1.png?fit=1200%2C510&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/02\/RStudio-1.png?fit=1200%2C510&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/02\/RStudio-1.png?fit=1200%2C510&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4345,"url":"https:\/\/rud.is\/b\/2016\/04\/17\/ggplot2-exercising-with-ggalt-dumbbells\/","url_meta":{"origin":4254,"position":1},"title":"(ggplot2) Exercising with (ggalt) dumbbells","author":"hrbrmstr","date":"2016-04-17","format":false,"excerpt":"I follow the most excellent Pew Research folks on Twitter to stay in tune with what's happening (statistically speaking) with the world. Today, they tweeted this excerpt from their 2015 Global Attitudes survey: The age gap in social media use around the world https:\/\/t.co\/0Dq1PcbExG pic.twitter.com\/9HBM7gLxwR\u2014 PewResearch Internet (@pewinternet) April 17,\u2026","rel":"","context":"In &quot;Charts &amp; Graphs&quot;","block_context":{"text":"Charts &amp; Graphs","link":"https:\/\/rud.is\/b\/category\/charts-graphs\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/RStudio.png?fit=811%2C1200&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/RStudio.png?fit=811%2C1200&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/RStudio.png?fit=811%2C1200&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/RStudio.png?fit=811%2C1200&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":4474,"url":"https:\/\/rud.is\/b\/2016\/06\/28\/making-time-rivers-in-r\/","url_meta":{"origin":4254,"position":2},"title":"Making &#8220;Time Rivers&#8221; in R","author":"hrbrmstr","date":"2016-06-28","format":false,"excerpt":"Once again, @albertocairo notices an interesting chart and spurs pondering in the visualization community with [his post](http:\/\/www.thefunctionalart.com\/2016\/06\/defying-conventions-in-visualization.html) covering an unusual \"vertical time series\" chart produced for the print version of the NYTimes: I'm actually less concerned about the vertical time series chart component here since I agree with TAVE* Cairo\u2026","rel":"","context":"In &quot;Charts &amp; Graphs&quot;","block_context":{"text":"Charts &amp; Graphs","link":"https:\/\/rud.is\/b\/category\/charts-graphs\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Cursor_and_RStudio-1.png?fit=1200%2C1181&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Cursor_and_RStudio-1.png?fit=1200%2C1181&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Cursor_and_RStudio-1.png?fit=1200%2C1181&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Cursor_and_RStudio-1.png?fit=1200%2C1181&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Cursor_and_RStudio-1.png?fit=1200%2C1181&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4285,"url":"https:\/\/rud.is\/b\/2016\/04\/12\/beating-lollipops-into-dumbbells\/","url_meta":{"origin":4254,"position":3},"title":"Beating lollipops into dumbbells","author":"hrbrmstr","date":"2016-04-12","format":false,"excerpt":"Shortly after I added lollipop charts to ggalt I had a few requests for a dumbbell geom. It wasn't difficult to do modify the underlying lollipop Geoms to make a geom_dumbbell(). Here it is in action: library(ggplot2) library(ggalt) # devtools::install_github(\"hrbrmstr\/ggalt\") library(dplyr) # from: https:\/\/plot.ly\/r\/dumbbell-plots\/ URL","rel":"","context":"In &quot;Charts &amp; Graphs&quot;","block_context":{"text":"Charts &amp; Graphs","link":"https:\/\/rud.is\/b\/category\/charts-graphs\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/Fullscreen_4_12_16__8_38_PM.png?fit=1200%2C1046&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/Fullscreen_4_12_16__8_38_PM.png?fit=1200%2C1046&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/Fullscreen_4_12_16__8_38_PM.png?fit=1200%2C1046&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/Fullscreen_4_12_16__8_38_PM.png?fit=1200%2C1046&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/Fullscreen_4_12_16__8_38_PM.png?fit=1200%2C1046&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4396,"url":"https:\/\/rud.is\/b\/2016\/05\/14\/global-temperature-change-in-r-d3-without-the-vertigo\/","url_meta":{"origin":4254,"position":4},"title":"Global Temperature Change in R &#038; D3 (without the vertigo)","author":"hrbrmstr","date":"2016-05-14","format":false,"excerpt":"This made the rounds on social media last week: Spiraling global temperatures from 1850-2016 (full animation) https:\/\/t.co\/YETC5HkmTr pic.twitter.com\/Ypci717AHq\u2014 Ed Hawkins (@ed_hawkins) May 9, 2016 One of the original versions was static and was not nearly as popular, but\u2014as you can see\u2014this one went viral. Despite the public's infatuation with circles\u2026","rel":"","context":"In &quot;Charts &amp; Graphs&quot;","block_context":{"text":"Charts &amp; Graphs","link":"https:\/\/rud.is\/b\/category\/charts-graphs\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/hadcrut.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/hadcrut.png?fit=1200%2C600&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/hadcrut.png?fit=1200%2C600&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/hadcrut.png?fit=1200%2C600&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/hadcrut.png?fit=1200%2C600&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":2793,"url":"https:\/\/rud.is\/b\/2013\/11\/27\/mapping-power-outages-in-maine-with-r\/","url_meta":{"origin":4254,"position":5},"title":"Mapping Power Outages In Maine With R","author":"hrbrmstr","date":"2013-11-27","format":false,"excerpt":"UPDATE: A Shiny (dynamic) version of this is now available. We had yet-another power outage this morning due to the weird weather patterns of the week and it was the final catalyst I needed to crank out some R code to map the affected counties. Central Maine Power provides an\u2026","rel":"","context":"In &quot;Charts &amp; Graphs&quot;","block_context":{"text":"Charts &amp; Graphs","link":"https:\/\/rud.is\/b\/category\/charts-graphs\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2013\/11\/Plot_Zoom.png?fit=530%2C680&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2013\/11\/Plot_Zoom.png?fit=530%2C680&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2013\/11\/Plot_Zoom.png?fit=530%2C680&ssl=1&resize=525%2C300 1.5x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/4254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/comments?post=4254"}],"version-history":[{"count":0,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/4254\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media\/4255"}],"wp:attachment":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media?parent=4254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/categories?post=4254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/tags?post=4254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}