<p><div><div><div><div data-width="100" data-show-faces="false" data-send="true" data-layout="button_count" data-height="21" data-href="http://www.r-bloggers.com/best-way-to-draw-heatmap-for-publication/"></div></div><div><a data-url="http://www.r-bloggers.com/best-way-to-draw-heatmap-for-publication/" data-counturl="http://www.r-bloggers.com/best-way-to-draw-heatmap-for-publication/" data-count="horizontal" data-text="Best way to draw heatmap for publication" class="twitter-share-button" data-via="rbloggers" href="https://twitter.com/share"></a></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="http://onetipperday.sterding.com/2016/07/best-way-to-draw-heatmap-for-publication.html"> One Tip Per Day</a></strong>, and kindly contributed to <a rel="nofollow" href="http://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>Here are two tips I can share if you were also working on a big dataset towards a high quality heatmap:</p>
<p>1. Don’t generate PDF using <span>pheatmap()</span> or <span>heatmap.2()</span> as (i) the file is unnecessarily SUPER large if you have a lot of data points in the heatmap, so that you can kill your Illustrator; (ii) annoying grey boxes added to the grip (see <a target="_blank" href="http://graphicdesign.stackexchange.com/questions/21495/weird-grey-boxes-on-pdf-export-and-huge-quality-difference-in-apple-preview-an">here</a>). Use basic <span>image()</span> with zero margins (e.g. <span>par(mar=c(0,0,0,0))</span>) to generate high-resolution PNG (or JPEG, TIFF) and place in Adobe Illustrator. You can freely add legend/annotation there easily.</p>
<p>2. When you use <span>image()</span>, rotate your matrix 90 degree clockwise first, so that the conventional printed layout of the matrix is same what you see in the image (e.g. top-left corner –> x(1,1) in your matrix etc.). An elegant piece of code for clockwise rotation can be found <a target="_blank" href="http://stackoverflow.com/questions/16496210/rotate-a-matrix-in-r">here</a>:
<pre><code><span>rotate </span><span>&lt;-</span><span> </span><span>function</span><span>(</span><span>x</span><span>)</span><span> t</span><span>(</span><span>apply</span><span>(</span><span>x</span><span>,</span><span> </span><span>2</span><span>,</span><span> rev</span><span>))</span></code></pre>
<p><div><div><div><div data-width="55" data-show-faces="false" data-send="true" data-layout="box_count" data-height="62" data-href="http://www.r-bloggers.com/best-way-to-draw-heatmap-for-publication/"></div></div><div><a data-url="http://www.r-bloggers.com/best-way-to-draw-heatmap-for-publication/" data-counturl="http://www.r-bloggers.com/best-way-to-draw-heatmap-for-publication/" data-count="vertical" data-text="Best way to draw heatmap for publication" class="twitter-share-button" data-via="rbloggers" href="https://twitter.com/share"></a></div><div></div></div><div></div></div>
<div>
<div>To <strong>leave a comment</strong> for the author, please follow the link and comment on their blog: <strong><a href="http://onetipperday.sterding.com/2016/07/best-way-to-draw-heatmap-for-publication.html"> One Tip Per Day</a></strong>.</div>
<hr>
<a rel="nofollow" href="http://www.r-bloggers.com/">R-bloggers.com</a> offers <strong><a rel="nofollow" href="http://feedburner.google.com/fb/a/mailverify?uri=RBloggers">daily e-mail updates</a></strong> about <a title="The R Project for Statistical Computing" rel="nofollow" href="http://www.r-project.org/">R</a> news and <a title="R tutorials" rel="nofollow" href="http://www.r-bloggers.com/?s=tutorial">tutorials</a> on topics such as: <a title="Data science" rel="nofollow" href="http://www.r-bloggers.com/?s=data%20science">Data science</a>, <a title="Big Data" rel="nofollow" href="http://www.r-bloggers.com/?s=Big%20Data">Big Data, <a title="R jobs" rel="nofollow" href="http://www.r-users.com/">R jobs</a>, visualization (<a title="ggplot and ggplot2 tutorials" rel="nofollow" href="http://www.r-bloggers.com/?s=ggplot2">ggplot2</a>, <a title="Boxplots using lattice and ggplot2 tutorials" rel="nofollow" href="http://www.r-bloggers.com/?s=boxplot">Boxplots</a>, <a title="Maps and gis" rel="nofollow" href="http://www.r-bloggers.com/?s=map">maps</a>, <a title="Animation in R" rel="nofollow" href="http://www.r-bloggers.com/?s=animation">animation</a>), programming (<a title="RStudio IDE for R" rel="nofollow" href="http://www.r-bloggers.com/?s=RStudio">RStudio</a>, <a title="Sweave and literate programming" rel="nofollow" href="http://www.r-bloggers.com/?s=sweave">Sweave</a>, <a title="LaTeX in R" rel="nofollow" href="http://www.r-bloggers.com/?s=LaTeX">LaTeX</a>, <a title="SQL and databases" rel="nofollow" href="http://www.r-bloggers.com/?s=SQL">SQL</a>, <a title="Eclipse IDE for R" rel="nofollow" href="http://www.r-bloggers.com/?s=eclipse">Eclipse</a>, <a title="git and github, Version Control System" rel="nofollow" href="http://www.r-bloggers.com/?s=git">git</a>, <a title="Large data in R using Hadoop" rel="nofollow" href="http://www.r-bloggers.com/?s=hadoop">hadoop</a>, <a title="Web Scraping of google, facebook, yahoo, twitter and more using R" rel="nofollow" href="http://www.r-bloggers.com/?s=Web+Scraping">Web Scraping</a>) statistics (<a title="Regressions and ANOVA analysis tutorials" rel="nofollow" href="http://www.r-bloggers.com/?s=regression">regression</a>, <a title="principal component analysis tutorial" rel="nofollow" href="http://www.r-bloggers.com/?s=PCA">PCA</a>, <a title="Time series" rel="nofollow" href="http://www.r-bloggers.com/?s=time+series">time series</a>, <a title="finance trading" rel="nofollow" href="http://www.r-bloggers.com/?s=trading">trading</a>) and more...
<img height="1" alt="" width="1" src="http://feeds.feedburner.com/~r/RBloggers/~4/oXV4jYFDn2U"></a></div>