

{"id":12576,"date":"2019-12-27T11:18:11","date_gmt":"2019-12-27T16:18:11","guid":{"rendered":"https:\/\/rud.is\/b\/?p=12576"},"modified":"2019-12-28T07:00:58","modified_gmt":"2019-12-28T12:00:58","slug":"short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2","status":"publish","type":"post","link":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/","title":{"rendered":"Short Attention Span Theatre: Reproducing Axios&#8217; &#8220;1 Big Thing&#8221; Google Trends 2019 News In Review with {ggplot2}"},"content":{"rendered":"<p>I woke up to Axios&#8217; <a href=\"https:\/\/www.axios.com\/insane-news-cycle-attention-2019-google-interest-f89e7bc8-399d-4681-b479-00e8b6a4ccbc.html\">&#8220;1 Big Thing&#8221;<\/a> ridgeline chart showing the crazy that was the 2019 news cycle:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"12577\" data-permalink=\"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/axios-orig\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?fit=1436%2C1506&amp;ssl=1\" data-orig-size=\"1436,1506\" 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=\"axios-orig\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?fit=510%2C535&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?resize=510%2C535&#038;ssl=1\" alt=\"\" width=\"510\" height=\"535\" class=\"aligncenter size-full wp-image-12577\" srcset=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?w=1436&amp;ssl=1 1436w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?resize=286%2C300&amp;ssl=1 286w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?resize=530%2C556&amp;ssl=1 530w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?resize=143%2C150&amp;ssl=1 143w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?resize=768%2C805&amp;ssl=1 768w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?resize=500%2C524&amp;ssl=1 500w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?resize=150%2C157&amp;ssl=1 150w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?resize=1200%2C1258&amp;ssl=1 1200w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?resize=400%2C419&amp;ssl=1 400w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?resize=800%2C839&amp;ssl=1 800w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?resize=200%2C210&amp;ssl=1 200w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?w=1020&amp;ssl=1 1020w\" sizes=\"auto, (max-width: 510px) 100vw, 510px\" \/><\/a><\/p>\n<p>and, I decided to reproduce it in {ggplot2}.<\/p>\n<h3>Getting The Data<\/h3>\n<p>First, I had to find the data. The Axios chart is interactive, so I assumed the visualization was built on-load. It was, but the data was embedded in a javascript file vs loaded as JSON via an <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/XMLHttpRequest\">XHR request<\/a>:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"12578\" data-permalink=\"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/finding-the-data\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?fit=2388%2C1068&amp;ssl=1\" data-orig-size=\"2388,1068\" 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=\"finding-the-data\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?fit=510%2C228&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?resize=510%2C228&#038;ssl=1\" alt=\"\" width=\"510\" height=\"228\" class=\"aligncenter size-full wp-image-12578\" srcset=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?w=2388&amp;ssl=1 2388w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?resize=300%2C134&amp;ssl=1 300w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?resize=530%2C237&amp;ssl=1 530w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?resize=150%2C67&amp;ssl=1 150w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?resize=768%2C343&amp;ssl=1 768w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?resize=1536%2C687&amp;ssl=1 1536w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?resize=2048%2C916&amp;ssl=1 2048w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?resize=500%2C224&amp;ssl=1 500w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?resize=1200%2C537&amp;ssl=1 1200w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?resize=400%2C179&amp;ssl=1 400w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?resize=800%2C358&amp;ssl=1 800w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?resize=200%2C89&amp;ssl=1 200w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/finding-the-data.png?w=1020&amp;ssl=1 1020w\" sizes=\"auto, (max-width: 510px) 100vw, 510px\" \/><\/a><\/p>\n<p>which was easy enough to turn into <a href=\"https:\/\/rud.is\/dl\/2019-axios-news.json\">JSON<\/a> anyone can use.<\/p>\n<p>NOTE: The <code># hrbrmstr\/hrbrthemes<\/code> is an indication you may need to use the version of {hrbrthemes} from my gitea\/sourcehut\/gitlab\/bitbucket\/github. That package has instructions for installing fonts needed. Sub out <code>theme_ipsum_es()<\/code> with <code>theme_ipsum()<\/code>, <code>theme_ipsum_rc()<\/code> or just use <code>theme_bw()<\/code> and tweak aesthetics manually.<\/p>\n<pre><code class=\"language-r\">library(ggalt)\nlibrary(hrbrthemes) # hrbrmstr\/hrbrthemes\nlibrary(tidyverse)\n\njsonlite::fromJSON(\"https:\/\/rud.is\/dl\/2019-axios-news.json\") %&gt;% \n  as_tibble() -&gt; xdf\n\nxdf\n## # A tibble: 31 x 3\n##    name                    avg data      \n##    &lt;chr&gt;                 &lt;dbl&gt; &lt;list&gt;    \n##  1 Gov't shutdown        20.5  &lt;int [51]&gt;\n##  2 Mexico-U.S. border    22.8  &lt;int [51]&gt;\n##  3 Green New Deal        11.3  &lt;int [51]&gt;\n##  4 Blackface              9.61 &lt;int [51]&gt;\n##  5 N. Korea-Hanoi Summit 11.2  &lt;int [51]&gt;\n##  6 Boeing 737 Max         4.79 &lt;int [51]&gt;\n##  7 Brexit                28.5  &lt;int [51]&gt;\n##  8 Israel                42.1  &lt;int [51]&gt;\n##  9 SpaceX                24.1  &lt;int [51]&gt;\n## 10 Game of Thrones       16.8  &lt;int [51]&gt;\n## # \u2026 with 21 more rows\n<\/code><\/pre>\n<p>This is pretty tidy already, but we&#8217;ll need to expand the <code>data<\/code> column and give each week an index:<\/p>\n<pre><code class=\"language-r\">unnest(xdf, data) %&gt;% \n  group_by(name) %&gt;% \n  mutate(idx = 1:n()) %&gt;% \n  ungroup() %&gt;% \n  mutate(name = fct_inorder(name)) -&gt; xdf # making a factor foe strip\/panel ordering \n\nxdf\n## # A tibble: 1,581 x 4\n##    name             avg  data   idx\n##    &lt;fct&gt;          &lt;dbl&gt; &lt;int&gt; &lt;int&gt;\n##  1 Gov't shutdown  20.5    69     1\n##  2 Gov't shutdown  20.5   100     2\n##  3 Gov't shutdown  20.5    96     3\n##  4 Gov't shutdown  20.5   100     4\n##  5 Gov't shutdown  20.5    19     5\n##  6 Gov't shutdown  20.5     9     6\n##  7 Gov't shutdown  20.5    17     7\n##  8 Gov't shutdown  20.5     3     8\n##  9 Gov't shutdown  20.5     2     9\n## 10 Gov't shutdown  20.5     1    10\n## # \u2026 with 1,571 more rows\n<\/code><\/pre>\n<p>We&#8217;ll take this opportunity to find the first week of each month (via <code>rle()<\/code>) so we can have decent axis labels:<\/p>\n<pre><code class=\"language-r\"># get index placement for each month axis label\nsprintf(\"2019-%02s-1\", 1:51) %&gt;% \n  as.Date(format = \"%Y-%W-%w\") %&gt;% \n  format(\"%b\") %&gt;% \n  rle() -&gt; mons\n\nmons\n## Run Length Encoding\n##   lengths: int [1:12] 4 4 4 5 4 4 5 4 5 4 ...\n##   values : chr [1:12] \"Jan\" \"Feb\" \"Mar\" \"Apr\" \"May\" \"Jun\" \"Jul\" \"Aug\" \"Sep\" \"Oct\" ...\n\nmonth_idx &lt;- cumsum(mons$lengths)-3\n\nmonth_idx\n##  [1]  1  5  9 14 18 22 27 31 36 40 44 48\n<\/code><\/pre>\n<p>We&#8217;ve got all we need to make a {ggplot2} version of the chart. Here&#8217;s the plan:<\/p>\n<ul>\n<li>use <code>geom_area()<\/code> and map colour and fill to <code>avg<\/code> (like Axios did), using an medium alpha value so we can still see below the overlapped areas<\/li>\n<li>also use an <code>xspline()<\/code> stat with <code>geom_area()<\/code> so we get smooth lines vs pointy ones<\/li>\n<li>use <code>geom_hline()<\/code> vs an axis line so we can map a colour aesthetic to <code>avg<\/code> as well<\/li>\n<li>make a custom x-axis scale so we can place the labels we just made<\/li>\n<li>expand the y-axis upper limit to avoid cutting off any part of the geoms<\/li>\n<li>use the <code>inferno<\/code> viridis palette, but not the extremes of it<\/li>\n<li>make facets\/panels on the <code>name<\/code>, positioning the labels on the left<\/li>\n<li>finally, tweak strip positioning so we get overlapped charts<\/li>\n<\/ul>\n<pre><code class=\"language-r\">ggplot(xdf, aes(idx, data)) +\n  geom_area(alpha = 1\/2, stat = \"xspline\", aes(fill = avg, colour = avg)) +\n  geom_hline(\n    data = distinct(xdf, name, avg),\n    aes(yintercept = 0, colour = avg), size = 0.5\n  ) +\n  scale_x_continuous(\n    expand = c(0,0.125), limits = c(1, 51),\n    breaks = month_idx, labels = month.abb\n  ) +\n  scale_y_continuous(expand = c(0,0), limits = c(0, 105)) +\n  scale_colour_viridis_c(option = \"inferno\", direction = -1, begin = 0.1, end = 0.9) +\n  scale_fill_viridis_c(option = \"inferno\", direction = -1, begin = 0.1, end = 0.9) +\n  facet_wrap(~name, ncol = 1, strip.position = \"left\", dir = \"h\") +\n  labs(\n    x = NULL, y = NULL, fill = NULL, colour = NULL,\n    title = \"1 big thing: The insane news cycles of 2019\",\n    subtitle = \"Height is search interest in a given topic, indexed to 100.\\nColor is average search interest between Dec. 30, 2018\u2013Dec. 20, 2019\",\n    caption = \"Source: Axios &lt;https:\/\/www.axios.com\/newsletters\/axios-am-1d9cd913-6142-43b8-9186-4197e6da7669.html?chunk=0#story0&gt;\\nData: Google News Lab. Orig. Chart: Danielle Alberti\/Axios\"\n  ) +\n  theme_ipsum_es(grid=\"X\", axis = \"\") +\n  theme(strip.text.y = element_text(angle = 180, hjust = 1, vjust = 0)) +\n  theme(panel.spacing.y = unit(-0.5, \"lines\")) +\n  theme(axis.text.y = element_blank()) +\n  theme(legend.position = \"none\")\n<\/code><\/pre>\n<p>To produce this finished product:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"12579\" data-permalink=\"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/1-big-thing\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?fit=2430%2C1722&amp;ssl=1\" data-orig-size=\"2430,1722\" 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=\"1-big-thing\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?fit=510%2C362&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?resize=510%2C361&#038;ssl=1\" alt=\"\" width=\"510\" height=\"361\" class=\"aligncenter size-full wp-image-12579\" srcset=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?w=2430&amp;ssl=1 2430w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?resize=300%2C213&amp;ssl=1 300w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?resize=530%2C376&amp;ssl=1 530w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?resize=150%2C106&amp;ssl=1 150w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?resize=768%2C544&amp;ssl=1 768w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?resize=1536%2C1088&amp;ssl=1 1536w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?resize=2048%2C1451&amp;ssl=1 2048w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?resize=500%2C354&amp;ssl=1 500w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?resize=1200%2C850&amp;ssl=1 1200w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?resize=400%2C283&amp;ssl=1 400w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?resize=800%2C567&amp;ssl=1 800w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?resize=200%2C142&amp;ssl=1 200w, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/1-big-thing.png?w=1020&amp;ssl=1 1020w\" sizes=\"auto, (max-width: 510px) 100vw, 510px\" \/><\/a><\/p>\n<h3>FIN<\/h3>\n<p>The chart could be tweaked a bit more to get even closer to the Axios finished product.<\/p>\n<p>Intrepid readers can also try to use {plotly} to make an interactive version.<\/p>\n<p>Somehow, I get the feeling 2020 will have an even more frenetic news cycle.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I woke up to Axios&#8217; &#8220;1 Big Thing&#8221; ridgeline chart showing the crazy that was the 2019 news cycle: and, I decided to reproduce it in {ggplot2}. Getting The Data First, I had to find the data. The Axios chart is interactive, so I assumed the visualization was built on-load. It was, but the data [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"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":[753,91],"tags":[],"class_list":["post-12576","post","type-post","status-publish","format-standard","hentry","category-ggplot","category-r"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Short Attention Span Theatre: Reproducing Axios&#039; &quot;1 Big Thing&quot; Google Trends 2019 News In Review with {ggplot2} - 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\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Short Attention Span Theatre: Reproducing Axios&#039; &quot;1 Big Thing&quot; Google Trends 2019 News In Review with {ggplot2} - rud.is\" \/>\n<meta property=\"og:description\" content=\"I woke up to Axios&#8217; &#8220;1 Big Thing&#8221; ridgeline chart showing the crazy that was the 2019 news cycle: and, I decided to reproduce it in {ggplot2}. Getting The Data First, I had to find the data. The Axios chart is interactive, so I assumed the visualization was built on-load. It was, but the data [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/\" \/>\n<meta property=\"og:site_name\" content=\"rud.is\" \/>\n<meta property=\"article:published_time\" content=\"2019-12-27T16:18:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-12-28T12:00:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/\"},\"author\":{\"name\":\"hrbrmstr\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"headline\":\"Short Attention Span Theatre: Reproducing Axios&#8217; &#8220;1 Big Thing&#8221; Google Trends 2019 News In Review with {ggplot2}\",\"datePublished\":\"2019-12-27T16:18:11+00:00\",\"dateModified\":\"2019-12-28T12:00:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/\"},\"wordCount\":349,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"image\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/axios-orig.png\",\"articleSection\":[\"ggplot\",\"R\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/\",\"url\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/\",\"name\":\"Short Attention Span Theatre: Reproducing Axios' \\\"1 Big Thing\\\" Google Trends 2019 News In Review with {ggplot2} - rud.is\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/axios-orig.png\",\"datePublished\":\"2019-12-27T16:18:11+00:00\",\"dateModified\":\"2019-12-28T12:00:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/axios-orig.png?fit=1436%2C1506&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/axios-orig.png?fit=1436%2C1506&ssl=1\",\"width\":1436,\"height\":1506},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2019\\\/12\\\/27\\\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/rud.is\\\/b\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Short Attention Span Theatre: Reproducing Axios&#8217; &#8220;1 Big Thing&#8221; Google Trends 2019 News In Review with {ggplot2}\"}]},{\"@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":"Short Attention Span Theatre: Reproducing Axios' \"1 Big Thing\" Google Trends 2019 News In Review with {ggplot2} - 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\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/","og_locale":"en_US","og_type":"article","og_title":"Short Attention Span Theatre: Reproducing Axios' \"1 Big Thing\" Google Trends 2019 News In Review with {ggplot2} - rud.is","og_description":"I woke up to Axios&#8217; &#8220;1 Big Thing&#8221; ridgeline chart showing the crazy that was the 2019 news cycle: and, I decided to reproduce it in {ggplot2}. Getting The Data First, I had to find the data. The Axios chart is interactive, so I assumed the visualization was built on-load. It was, but the data [&hellip;]","og_url":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/","og_site_name":"rud.is","article_published_time":"2019-12-27T16:18:11+00:00","article_modified_time":"2019-12-28T12:00:58+00:00","og_image":[{"url":"https:\/\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png","type":"","width":"","height":""}],"author":"hrbrmstr","twitter_card":"summary_large_image","twitter_misc":{"Written by":"hrbrmstr","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/#article","isPartOf":{"@id":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/"},"author":{"name":"hrbrmstr","@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"headline":"Short Attention Span Theatre: Reproducing Axios&#8217; &#8220;1 Big Thing&#8221; Google Trends 2019 News In Review with {ggplot2}","datePublished":"2019-12-27T16:18:11+00:00","dateModified":"2019-12-28T12:00:58+00:00","mainEntityOfPage":{"@id":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/"},"wordCount":349,"commentCount":4,"publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"image":{"@id":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/#primaryimage"},"thumbnailUrl":"https:\/\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png","articleSection":["ggplot","R"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/","url":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/","name":"Short Attention Span Theatre: Reproducing Axios' \"1 Big Thing\" Google Trends 2019 News In Review with {ggplot2} - rud.is","isPartOf":{"@id":"https:\/\/rud.is\/b\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/#primaryimage"},"image":{"@id":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/#primaryimage"},"thumbnailUrl":"https:\/\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png","datePublished":"2019-12-27T16:18:11+00:00","dateModified":"2019-12-28T12:00:58+00:00","breadcrumb":{"@id":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/#primaryimage","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?fit=1436%2C1506&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/12\/axios-orig.png?fit=1436%2C1506&ssl=1","width":1436,"height":1506},{"@type":"BreadcrumbList","@id":"https:\/\/rud.is\/b\/2019\/12\/27\/short-attention-span-theatre-reproducing-axios-1-big-thing-google-trends-2019-news-in-review-with-ggplot2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rud.is\/b\/"},{"@type":"ListItem","position":2,"name":"Short Attention Span Theatre: Reproducing Axios&#8217; &#8220;1 Big Thing&#8221; Google Trends 2019 News In Review with {ggplot2}"}]},{"@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":"","jetpack_shortlink":"https:\/\/wp.me\/p23idr-3gQ","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":12308,"url":"https:\/\/rud.is\/b\/2019\/06\/11\/makeover-jumbalaya-beating-dumbbells-into-slopegraphs-whilst-orchestrating-ethercalc\/","url_meta":{"origin":12576,"position":0},"title":"Makeover Jambalaya: Beating Dumbbells into Slopegraphs Whilst Orchestrating EtherCalc","author":"hrbrmstr","date":"2019-06-11","format":false,"excerpt":"This morning, @kairyssdal tweeted out the following graphic from @axios: Confusing, but interesting. Data shows we're a nation of news consumption hypocrites - Axios https:\/\/t.co\/O0lPSc4OV3\u2014 Kai Ryssdal (@kairyssdal) June 11, 2019 If you're doing the right thing and blocking evil social media javascript you can find the Axios story here\u2026","rel":"","context":"In &quot;R&quot;","block_context":{"text":"R","link":"https:\/\/rud.is\/b\/category\/r\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/06\/slope-04.png?fit=1074%2C1200&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/06\/slope-04.png?fit=1074%2C1200&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/06\/slope-04.png?fit=1074%2C1200&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/06\/slope-04.png?fit=1074%2C1200&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/06\/slope-04.png?fit=1074%2C1200&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4133,"url":"https:\/\/rud.is\/b\/2016\/03\/16\/supreme-annotations\/","url_meta":{"origin":12576,"position":1},"title":"Supreme Annotations","author":"hrbrmstr","date":"2016-03-16","format":false,"excerpt":"This is a follow up to a twitter-gist post & to the annotation party we're having this week I had not intended this to be \"Annotation Week\" but there was a large, positive response to my annotation \"hack\" post. This reaction surprised me, then someone pointed me to this link\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\/03\/supremes.png?fit=1200%2C987&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/supremes.png?fit=1200%2C987&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/supremes.png?fit=1200%2C987&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/supremes.png?fit=1200%2C987&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/supremes.png?fit=1200%2C987&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":12282,"url":"https:\/\/rud.is\/b\/2019\/06\/06\/make-multi-point-dumbbell-plots-in-ggplot2\/","url_meta":{"origin":12576,"position":2},"title":"Make Multi-point &#8220;dumbbell&#8221; Plots in ggplot2","author":"hrbrmstr","date":"2019-06-06","format":false,"excerpt":"A user of the {ggalt} package recently posted a question about how to add points to a geom_dumbbell() plot. For now, this is not something you can do with geom_dumbbell() but with a bit of data wrangling you can do this in a pretty straightforward manner with just your data\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\/2019\/06\/there-are-three-points-2.png?fit=1200%2C560&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/06\/there-are-three-points-2.png?fit=1200%2C560&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/06\/there-are-three-points-2.png?fit=1200%2C560&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/06\/there-are-three-points-2.png?fit=1200%2C560&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/06\/there-are-three-points-2.png?fit=1200%2C560&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":12195,"url":"https:\/\/rud.is\/b\/2019\/05\/18\/mapping-tornado-alley-with-r\/","url_meta":{"origin":12576,"position":3},"title":"Mapping Tornado Alley with R","author":"hrbrmstr","date":"2019-05-18","format":false,"excerpt":"I caught a re-tweet of this tweet by @harry_stevens: THREAD: I wrote a post on @observablehq about a map I made today. It shows a typical day in the life of a graphics journalist: You never know what problems you'll have to solve on deadline! https:\/\/t.co\/yRhW1wbLxN #d3js #dataviz 1\/7 pic.twitter.com\/7N6mmK0nz3\u2014\u2026","rel":"","context":"In &quot;cartography&quot;","block_context":{"text":"cartography","link":"https:\/\/rud.is\/b\/category\/cartography\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/05\/map-final-header.png?fit=1001%2C970&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/05\/map-final-header.png?fit=1001%2C970&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/05\/map-final-header.png?fit=1001%2C970&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/05\/map-final-header.png?fit=1001%2C970&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":3236,"url":"https:\/\/rud.is\/b\/2015\/01\/18\/nasa-gisss-annual-global-temperature-anomaly-trends-dplyrggplot-version\/","url_meta":{"origin":12576,"position":4},"title":"NASA GISS\u2019s Annual Global Temperature Anomaly Trends (dplyr\/ggplot version)","author":"hrbrmstr","date":"2015-01-18","format":false,"excerpt":"D Kelly O\u2019Day did a [great post](https:\/\/chartsgraphs.wordpress.com\/2015\/01\/16\/nasa-gisss-annual-global-temperature-anomaly-trends\/) on charting NASA\u2019s Goddard Institute for Space Studies (GISS) temperature anomaly data, but it sticks with base R for data munging & plotting. While there's absolutely nothing wrong with base R operations, I thought a modern take on the chart using `dplyr`, `magrittr`\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":"","width":0,"height":0},"classes":[]},{"id":4027,"url":"https:\/\/rud.is\/b\/2016\/02\/28\/a-tale-of-two-charting-paradigms-vega-lite-vs-rggplot2\/","url_meta":{"origin":12576,"position":5},"title":"A Tale of Two Charting Paradigms: Vega-Lite vs R+ggplot2","author":"hrbrmstr","date":"2016-02-28","format":false,"excerpt":"This post comes hot off the heels of the [nigh-feature-complete release of `vegalite`](http:\/\/rud.is\/b\/2016\/02\/27\/create-vega-lite-specs-widgets-with-the-vegalite-package\/) (virtually all the components of Vega-Lite are now implemented and just need real-world user testing). I've had a few and seen a few questions about \"why Vega-Lite\"? I _think_ my previous post gave some good answers to\u2026","rel":"","context":"In &quot;d3&quot;","block_context":{"text":"d3","link":"https:\/\/rud.is\/b\/category\/d3\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/12576","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=12576"}],"version-history":[{"count":0,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/12576\/revisions"}],"wp:attachment":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media?parent=12576"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/categories?post=12576"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/tags?post=12576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}