

{"id":3516,"date":"2015-07-20T03:11:52","date_gmt":"2015-07-20T08:11:52","guid":{"rendered":"http:\/\/rud.is\/b\/?p=3516"},"modified":"2018-03-10T07:54:36","modified_gmt":"2018-03-10T12:54:36","slug":"using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier","status":"publish","type":"post","link":"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/","title":{"rendered":"Using the new &#8216;viridis&#8217; colormap in R (thanks to Simon Garnier)"},"content":{"rendered":"<p>Nathaniel Smith and St\u00e9fan van der Walt presented a new colormap (for Python) at SciPy 2015 called <code>viridis<\/code>.<\/p>\n<p><iframe loading=\"lazy\" style=\"max-width:100%\" width=\"854\" height=\"510\" src=\"https:\/\/www.youtube.com\/embed\/xAoljeRJ3lU?list=PLYx7XA2nY5Gcpabmu61kKcToLz0FapmHu\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>From the authors:<\/p>\n<blockquote><p>\n  The default colourmap in Matplotlib is the colourful rainbow-map called Jet, which is deficient in many ways: small changes in the data sometimes produce large perceptual differences and vice-versa; its lightness gradient is non-monotonic; and, it is not particularly robust against color-blind viewing. Thus, a new default colormap is needed &#8212; but no obvious candidate has been found. Here, we present our proposed new default colormap for Matplotlib, and expose the theory, tools, data exploration and motivations behind its design.\n<\/p><\/blockquote>\n<p>You can also find out a tad more about <a href=\"http:\/\/bids.github.io\/colormap\/\">their other colormap designs<\/a> (a.k.a. the runner-ups), along with Parula, which is a proprietary MATLAB color map.<\/p>\n<p>Simon Garnier (@<a href=\"https:\/\/mobile.twitter.com\/sjmgarnier\">sjmgarnier<\/a>) took Nathaniel &amp; St\u00e9fan&#8217;s work and turned it into <a href=\"https:\/\/cran.r-project.org\/web\/packages\/viridis\/index.html\">an R package<\/a>.<\/p>\n<p>Noam Ross (@<a href=\"https:\/\/mobile.twitter.com\/noamross\">noamross<\/a>) &amp; I piled on shortly thereafter to add some ggplot color <code>scale_<\/code> functions which are (for now) only available in Simon&#8217;s <a href=\"https:\/\/github.com\/sjmgarnier\/viridis\">github repo<\/a>.<\/p>\n<p>Rather than duplicate the examples already provided in the documentation of those functions, I thought there might be more efficacy in creating a post that helped showcase why you should switch from <code>rainbow<\/code> (et al) to <code>viridis<\/code>.<\/p>\n<p>Since folks seem to like maps, we&#8217;ll work with one for the example, but let&#8217;s get some package machinations out of the way first:<\/p>\n<pre lang=\"rsplus\">library(viridis)\nlibrary(raster)\nlibrary(scales)\nlibrary(dichromat)\nlibrary(rasterVis)\nlibrary(httr)\nlibrary(colorspace)<\/pre>\n<p>Now, we&#8217;ll need a map to work with so let&#8217;s grab a U.S. max temperature GeoTIFF raster from NOAA (from the bitter cold month of February 2015) and project it to something more reasonable:<\/p>\n<pre lang=\"rsplus\">temp_raster <- \"http:\/\/ftp.cpc.ncep.noaa.gov\/GIS\/GRADS_GIS\/GeoTIFF\/TEMP\/us_tmax\/us.tmax_nohads_ll_20150219_float.tif\"\n\ntry(GET(temp_raster,\n        write_disk(\"us.tmax_nohads_ll_20150219_float.tif\")), silent=TRUE)\nus <- raster(\"us.tmax_nohads_ll_20150219_float.tif\")\n\n# albers FTW\nus <- projectRaster(us, crs=\"+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=37.5 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs\")<\/pre>\n<p>We'll also make a helper function to save us some typing and setup the base # of colors in the colormap:<\/p>\n<pre lang=\"rsplus\">n_col <- 64\n\nimg <- function(obj, col) {\n  image(obj, col=col, asp=1, axes=FALSE, xaxs=\"i\", xaxt='n', yaxt='n', ann=FALSE)\n}<\/pre>\n<p>Let's take a look at various color palettes with different types of vision. We'll use a 3x2 grid and:<\/p>\n<ul>\n<li>use 4 color palettes from <code>grDevices<\/code>, <\/li>\n<li>make a gradient palette from one of the ColorBrewer sequential palettes, and<\/li>\n<li>then (finally) use a <code>viridis<\/code> color palette.<\/li>\n<\/ul>\n<p>We'll take this grid of 6 maps and view it through the eyes of three different types of color vision as well as a fully desaturated version. Note that I'm not adding much cruft to the map display (including legends) since this isn't about the values so much as it is about the visual perception of the colormaps.<\/p>\n<p>Remember you can select\/click\/tap the map grids for (slightly) larger versions.<\/p>\n<h3>\"Normal\" Vision<\/h3>\n<pre lang=\"rsplus\">par(mfrow=c(3, 2), mar=rep(0, 4))\nimg(us, rev(heat.colors(n_col)))\nimg(us, rev(rainbow(n_col)))\nimg(us, rev(topo.colors(n_col)))\nimg(us, rev(cm.colors(n_col)))\nimg(us, gradient_n_pal(brewer_pal(\"seq\")(9))(seq(0, 1, length=n_col)))\nimg(us, rev(viridis(n_col)))<\/pre>\n<p><a href=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3520\" data-permalink=\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/01_normal-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png?fit=1728%2C960&amp;ssl=1\" data-orig-size=\"1728,960\" 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=\"01_normal-1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png?fit=300%2C167&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png?fit=510%2C283&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png?resize=510%2C283&#038;ssl=1\" alt=\"01_normal-1\" width=\"510\" height=\"283\" class=\"aligncenter size-full wp-image-3520\" \/><\/a><\/p>\n<p>All of the maps convey the differences in max temperature. If you happen to have \"normal\" color vision you should be drawn to the bottom two (ColorBrewer on the left and Viridis on the right). They are both sequential and convey the temperature changes more precisely (and they aren't as gosh-awful ugly the the other four).<\/p>\n<p>While the ColorBrewer gradient may be \"good\", Viridis is designed to be:<\/p>\n<ul>\n<li>colorful &amp; \"pretty\"<\/li>\n<li>sequential (to not impose other structure on exploratory data analysis visualizations)<\/li>\n<li>perceptually uniform (i.e. changes in the data should be accurately decoded by our brains) even when desaturated<\/li>\n<li>accessible to colorblind viewers<\/li>\n<\/ul>\n<p>and seems to meet those goals quite well.<\/p>\n<p>Take a look at each of the vision-adjusted examples:<\/p>\n<h3>Green-Blind (Deuteranopia)<\/h3>\n<pre lang=\"rsplus\">par(mfrow=c(3, 2), mar=rep(0, 4))\nimg(us, dichromat(rev(heat.colors(n_col)), \"deutan\"))\nimg(us, dichromat(rev(rainbow(n_col)), \"deutan\"))\nimg(us, dichromat(rev(topo.colors(n_col)), \"deutan\"))\nimg(us, dichromat(rev(cm.colors(n_col)), \"deutan\"))\nimg(us, dichromat(gradient_n_pal(brewer_pal(\"seq\")(9))(seq(0, 1, length=n_col)), \"deutan\"))\nimg(us, dichromat(rev(viridis(n_col)), \"deutan\"))<\/pre>\n<p><a href=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/02_deutan-1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3521\" data-permalink=\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/02_deutan-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/02_deutan-1.png?fit=1728%2C960&amp;ssl=1\" data-orig-size=\"1728,960\" 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=\"02_deutan-1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/02_deutan-1.png?fit=300%2C167&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/02_deutan-1.png?fit=510%2C283&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/02_deutan-1.png?resize=510%2C283&#038;ssl=1\" alt=\"02_deutan-1\" width=\"510\" height=\"283\" class=\"aligncenter size-full wp-image-3521\" \/><\/a><\/p>\n<h3>Red-Blind (Protanopia)<\/h3>\n<pre lang=\"rsplus\">par(mfrow=c(3, 2), mar=rep(0, 4))\nimg(us, dichromat(rev(heat.colors(n_col)), \"protan\"))\nimg(us, dichromat(rev(rainbow(n_col)), \"protan\"))\nimg(us, dichromat(rev(topo.colors(n_col)), \"protan\"))\nimg(us, dichromat(rev(cm.colors(n_col)), \"protan\"))\nimg(us, dichromat(gradient_n_pal(brewer_pal(\"seq\")(9))(seq(0, 1, length=n_col)), \"protan\"))\nimg(us, dichromat(rev(viridis(n_col)), \"protan\"))<\/pre>\n<p><a href=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/03_protan-1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3517\" data-permalink=\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/03_protan-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/03_protan-1.png?fit=1728%2C960&amp;ssl=1\" data-orig-size=\"1728,960\" 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=\"03_protan-1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/03_protan-1.png?fit=300%2C167&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/03_protan-1.png?fit=510%2C283&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/03_protan-1.png?resize=510%2C283&#038;ssl=1\" alt=\"03_protan-1\" width=\"510\" height=\"283\" class=\"aligncenter size-full wp-image-3517\" \/><\/a><\/p>\n<h3>Blue-Blind (Tritanopia)<\/h3>\n<pre lang=\"rsplus\">par(mfrow=c(3, 2), mar=rep(0, 4))\nimg(us, dichromat(rev(heat.colors(n_col)), \"tritan\"))\nimg(us, dichromat(rev(rainbow(n_col)), \"tritan\"))\nimg(us, dichromat(rev(topo.colors(n_col)), \"tritan\"))\nimg(us, dichromat(rev(cm.colors(n_col)), \"tritan\"))\nimg(us, dichromat(gradient_n_pal(brewer_pal(\"seq\")(9))(seq(0, 1, length=n_col)), \"tritan\"))\nimg(us, dichromat(rev(viridis(n_col)), \"tritan\"))<\/pre>\n<p><a href=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/04_tritan-1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3518\" data-permalink=\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/04_tritan-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/04_tritan-1.png?fit=1728%2C960&amp;ssl=1\" data-orig-size=\"1728,960\" 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=\"04_tritan-1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/04_tritan-1.png?fit=300%2C167&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/04_tritan-1.png?fit=510%2C283&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/04_tritan-1.png?resize=510%2C283&#038;ssl=1\" alt=\"04_tritan-1\" width=\"510\" height=\"283\" class=\"aligncenter size-full wp-image-3518\" \/><\/a><\/p>\n<h3>Desaturated<\/h3>\n<pre lang=\"rsplus\">par(mfrow=c(3, 2), mar=rep(0, 4))\nimg(us, desaturate(rev(heat.colors(n_col))))\nimg(us, desaturate(rev(rainbow(n_col))))\nimg(us, desaturate(rev(topo.colors(n_col))))\nimg(us, desaturate(rev(cm.colors(n_col))))\nimg(us, desaturate(gradient_n_pal(brewer_pal(\"seq\")(9))(seq(0, 1, length=n_col))))\nimg(us, desaturate(rev(viridis(n_col))))<\/pre>\n<p><a href=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/05_desatureated-1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3519\" data-permalink=\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/05_desatureated-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/05_desatureated-1.png?fit=1728%2C960&amp;ssl=1\" data-orig-size=\"1728,960\" 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=\"05_desatureated-1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/05_desatureated-1.png?fit=300%2C167&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/05_desatureated-1.png?fit=510%2C283&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/05_desatureated-1.png?resize=510%2C283&#038;ssl=1\" alt=\"05_desatureated-1\" width=\"510\" height=\"283\" class=\"aligncenter size-full wp-image-3519\" \/><\/a><\/p>\n<p>Hopefully both the ColorBrewer gradient and Viridis palettes stood out as conveying the temperature data with more precision and more consistently across all non-standard vision types as you progressed through each one.<\/p>\n<p>To see this for yourself in your own work, grab Simon's package and start substituting <code>viridis<\/code> for some of your usual defaults to see if it makes a difference in helping you convey the story your data is trying to tell, both more accurately and for a more diverse audience. Remember, the github version (which will be on CRAN soon) have handy ggplot <code>scale_<\/code> functions to make using <code>viridis<\/code> as painless as possible.<\/p>\n<p>I also updated my <a href=\"https:\/\/github.com\/hrbrmstr\/melbourne-walking\">Melbourne Walking<\/a> EDA project to use the viridis palette instead of parula (which I was only really using in defiance of MATLAB's inane restrictions).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nathaniel Smith and St\u00e9fan van der Walt presented a new colormap (for Python) at SciPy 2015 called viridis. From the authors: The default colourmap in Matplotlib is the colourful rainbow-map called Jet, which is deficient in many ways: small changes in the data sometimes produce large perceptual differences and vice-versa; its lightness gradient is non-monotonic; [&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":[721,24,678,673,674,706,91],"tags":[810],"class_list":["post-3516","post","type-post","status-publish","format-standard","hentry","category-cartography","category-charts-graphs","category-data-visualization","category-datavis-2","category-dataviz","category-maps","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>Using the new &#039;viridis&#039; colormap in R (thanks to Simon Garnier) - 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\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using the new &#039;viridis&#039; colormap in R (thanks to Simon Garnier) - rud.is\" \/>\n<meta property=\"og:description\" content=\"Nathaniel Smith and St\u00e9fan van der Walt presented a new colormap (for Python) at SciPy 2015 called viridis. From the authors: The default colourmap in Matplotlib is the colourful rainbow-map called Jet, which is deficient in many ways: small changes in the data sometimes produce large perceptual differences and vice-versa; its lightness gradient is non-monotonic; [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/\" \/>\n<meta property=\"og:site_name\" content=\"rud.is\" \/>\n<meta property=\"article:published_time\" content=\"2015-07-20T08:11:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-03-10T12:54:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.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\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/\"},\"author\":{\"name\":\"hrbrmstr\",\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"headline\":\"Using the new &#8216;viridis&#8217; colormap in R (thanks to Simon Garnier)\",\"datePublished\":\"2015-07-20T08:11:52+00:00\",\"dateModified\":\"2018-03-10T12:54:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/\"},\"wordCount\":679,\"commentCount\":7,\"publisher\":{\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"image\":{\"@id\":\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png\",\"keywords\":[\"post\"],\"articleSection\":[\"cartography\",\"Charts &amp; Graphs\",\"Data Visualization\",\"DataVis\",\"DataViz\",\"maps\",\"R\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/\",\"url\":\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/\",\"name\":\"Using the new 'viridis' colormap in R (thanks to Simon Garnier) - rud.is\",\"isPartOf\":{\"@id\":\"https:\/\/rud.is\/b\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png\",\"datePublished\":\"2015-07-20T08:11:52+00:00\",\"dateModified\":\"2018-03-10T12:54:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png?fit=1728%2C960&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png?fit=1728%2C960&ssl=1\",\"width\":1728,\"height\":960},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/rud.is\/b\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using the new &#8216;viridis&#8217; colormap in R (thanks to Simon Garnier)\"}]},{\"@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":"Using the new 'viridis' colormap in R (thanks to Simon Garnier) - 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\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/","og_locale":"en_US","og_type":"article","og_title":"Using the new 'viridis' colormap in R (thanks to Simon Garnier) - rud.is","og_description":"Nathaniel Smith and St\u00e9fan van der Walt presented a new colormap (for Python) at SciPy 2015 called viridis. From the authors: The default colourmap in Matplotlib is the colourful rainbow-map called Jet, which is deficient in many ways: small changes in the data sometimes produce large perceptual differences and vice-versa; its lightness gradient is non-monotonic; [&hellip;]","og_url":"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/","og_site_name":"rud.is","article_published_time":"2015-07-20T08:11:52+00:00","article_modified_time":"2018-03-10T12:54:36+00:00","og_image":[{"url":"https:\/\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png","type":"","width":"","height":""}],"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\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#article","isPartOf":{"@id":"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/"},"author":{"name":"hrbrmstr","@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"headline":"Using the new &#8216;viridis&#8217; colormap in R (thanks to Simon Garnier)","datePublished":"2015-07-20T08:11:52+00:00","dateModified":"2018-03-10T12:54:36+00:00","mainEntityOfPage":{"@id":"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/"},"wordCount":679,"commentCount":7,"publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"image":{"@id":"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#primaryimage"},"thumbnailUrl":"https:\/\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png","keywords":["post"],"articleSection":["cartography","Charts &amp; Graphs","Data Visualization","DataVis","DataViz","maps","R"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/","url":"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/","name":"Using the new 'viridis' colormap in R (thanks to Simon Garnier) - rud.is","isPartOf":{"@id":"https:\/\/rud.is\/b\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#primaryimage"},"image":{"@id":"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#primaryimage"},"thumbnailUrl":"https:\/\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png","datePublished":"2015-07-20T08:11:52+00:00","dateModified":"2018-03-10T12:54:36+00:00","breadcrumb":{"@id":"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#primaryimage","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png?fit=1728%2C960&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/07\/01_normal-1.png?fit=1728%2C960&ssl=1","width":1728,"height":960},{"@type":"BreadcrumbList","@id":"https:\/\/rud.is\/b\/2015\/07\/20\/using-the-new-viridis-colormap-in-r-thanks-to-simon-garnier\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rud.is\/b\/"},{"@type":"ListItem","position":2,"name":"Using the new &#8216;viridis&#8217; colormap in R (thanks to Simon Garnier)"}]},{"@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-UI","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":4417,"url":"https:\/\/rud.is\/b\/2016\/06\/07\/new-viridis-colorbrewer-palettes-for-ipv4-heatmap\/","url_meta":{"origin":3516,"position":0},"title":"New viridis &#038; colorbrewer palettes for ipv4-heatmap","author":"hrbrmstr","date":"2016-06-07","format":false,"excerpt":"It's no seekrit that I :heart: Hilbert curve heatmaps of IPv4 space. Real-world IPv4 maps (i.e. the ones that drop dots on the Earth) have little utility, but with Hilbert curves maps of IPv4 space many different topologies can be superimposed (from ASNs to\u2014if need be\u2014geographic locations). Plus, there's more\u2026","rel":"","context":"In &quot;data driven security&quot;","block_context":{"text":"data driven security","link":"https:\/\/rud.is\/b\/category\/data-driven-security\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/rdbu-inverted.png?fit=512%2C512&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2830,"url":"https:\/\/rud.is\/b\/2013\/12\/04\/newest-font-obsession-lato\/","url_meta":{"origin":3516,"position":1},"title":"Newest Font Obsession: Lato","author":"hrbrmstr","date":"2013-12-04","format":false,"excerpt":"I tend to obsess over fonts and the latest obsession is Lato. It was created over three years ago by \u0141ukasz Dziedzic but I only discovered it recently when searching for something to use with my Live Maine Power Outages visualization. The Lato main site provides desktop fonts and web\u2026","rel":"","context":"In &quot;fonts&quot;","block_context":{"text":"fonts","link":"https:\/\/rud.is\/b\/category\/fonts\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3756,"url":"https:\/\/rud.is\/b\/2015\/10\/24\/less-drama-more-encoding\/","url_meta":{"origin":3516,"position":2},"title":"Less Drama, More Encoding","author":"hrbrmstr","date":"2015-10-24","format":false,"excerpt":"Junk Charts [adeptly noted and fixed](http:\/\/junkcharts.typepad.com\/junk_charts\/2015\/10\/is-it-worth-the-drama.html) this excessively stylized chart from the WSJ this week: Their take on it does reduce the ZOMGOSH WE ARE DOOMED! look and feel of the WSJ chart: But, we can further reduce the drama by using a more neutral color encoding _and_ encode both\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\/2015\/10\/RStudio.png?fit=1200%2C724&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/10\/RStudio.png?fit=1200%2C724&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/10\/RStudio.png?fit=1200%2C724&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/10\/RStudio.png?fit=1200%2C724&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/10\/RStudio.png?fit=1200%2C724&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":3516,"position":3},"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":6380,"url":"https:\/\/rud.is\/b\/2017\/09\/18\/mapping-fall-foliage-with-sf\/","url_meta":{"origin":3516,"position":4},"title":"Mapping Fall Foliage with sf","author":"hrbrmstr","date":"2017-09-18","format":false,"excerpt":"I was socially engineered by @yoniceedee into creating today's post due to being prodded with this tweet: Where to see the best fall foliage, based on your location: https:\/\/t.co\/12pQU29ksB pic.twitter.com\/JiywYVpmno\u2014 Vox (@voxdotcom) September 18, 2017 Since there aren't nearly enough sf and geom_sf examples out on the wild, wild #rstats\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\/09\/f.gif?fit=800%2C480&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/09\/f.gif?fit=800%2C480&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/09\/f.gif?fit=800%2C480&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/09\/f.gif?fit=800%2C480&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":4217,"url":"https:\/\/rud.is\/b\/2016\/03\/29\/easier-composite-u-s-choropleths-with-albersusa\/","url_meta":{"origin":3516,"position":5},"title":"Easier Composite U.S. Choropleths with albersusa","author":"hrbrmstr","date":"2016-03-29","format":false,"excerpt":"Folks who've been tracking this blog on R-bloggers probably remember [this post](https:\/\/rud.is\/b\/2014\/11\/16\/moving-the-earth-well-alaska-hawaii-with-r\/) where I showed how to create a composite U.S. map with an Albers projection (which is commonly referred to as AlbersUSA these days thanks to D3). I'm not sure why I didn't think of this earlier, but you\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\/2016\/03\/Fullscreen_3_29_16__9_06_AM.png?fit=1200%2C747&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/Fullscreen_3_29_16__9_06_AM.png?fit=1200%2C747&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/Fullscreen_3_29_16__9_06_AM.png?fit=1200%2C747&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/Fullscreen_3_29_16__9_06_AM.png?fit=1200%2C747&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/Fullscreen_3_29_16__9_06_AM.png?fit=1200%2C747&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/3516","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=3516"}],"version-history":[{"count":0,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/3516\/revisions"}],"wp:attachment":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media?parent=3516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/categories?post=3516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/tags?post=3516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}