{"id":853,"date":"2015-04-07T11:35:08","date_gmt":"2015-04-07T18:35:08","guid":{"rendered":"http:\/\/homepages.uc.edu\/~yaozo\/wordpress\/?p=853"},"modified":"2015-04-07T11:35:08","modified_gmt":"2015-04-07T18:35:08","slug":"ggplot2-cheatsheet-from-r-for-public-health","status":"publish","type":"post","link":"https:\/\/zhuoyao.net\/index.php\/2015\/04\/07\/ggplot2-cheatsheet-from-r-for-public-health\/","title":{"rendered":"ggplot2 Cheatsheet from R for Public Health"},"content":{"rendered":"<div class=\"row-fluid\">\n<div class=\"span8\">\n<p><a href=\"http:\/\/rforpublichealth.blogspot.hk\/\">R for Public Health<\/a><\/p>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"kn\">library<\/span><span class=\"p\">(<\/span>ggplot2<span class=\"p\">)<\/span>\n<span class=\"kn\">library<\/span><span class=\"p\">(<\/span>gridExtra<span class=\"p\">)<\/span>\nmtc <span class=\"o\">&lt;-<\/span> mtcars\n<span class=\"kp\">head<\/span><span class=\"p\">(<\/span>mtc<span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<div class=\"highlight\">\n<pre><code class=\"language-text\" data-lang=\"text\">                   mpg cyl disp  hp drat    wt  qsec vs am gear carb\nMazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4\nMazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4\nDatsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1\nHornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1\nHornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2\nValiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1\n<\/code><\/pre>\n<\/div>\n<h4 id=\"scatterplots\">Scatterplots<\/h4>\n<h5 id=\"basic-scatterplot\">Basic scatterplot<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">p1 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> hp<span class=\"p\">,<\/span> y <span class=\"o\">=<\/span> mpg<span class=\"p\">))<\/span>\n<span class=\"c1\"># Print plot with default points<\/span>\np1 <span class=\"o\">+<\/span> geom_point<span class=\"p\">()<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-1.png\" alt=\"plot of chunk ggplot2-Cheatsheet-1\" \/><\/p>\n<h5 id=\"change-color-of-points\">Change color of points<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">p2 <span class=\"o\">&lt;-<\/span> p1 <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> <span class=\"s\">\"red\"<\/span><span class=\"p\">)<\/span>  <span class=\"c1\">#set one color for all points<\/span>\np3 <span class=\"o\">&lt;-<\/span> p1 <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> wt<span class=\"p\">))<\/span>  <span class=\"c1\">#set color scale by a continuous variable<\/span>\np4 <span class=\"o\">&lt;-<\/span> p1 <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>am<span class=\"p\">)))<\/span>  <span class=\"c1\">#set color scale by a factor variable<\/span>\ngrid.arrange<span class=\"p\">(<\/span>p2<span class=\"p\">,<\/span> p3<span class=\"p\">,<\/span> p4<span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-21.png\" alt=\"plot of chunk ggplot2-Cheatsheet-2\" \/><\/p>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"c1\"># Change default colors in color scale<\/span>\np1 <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>am<span class=\"p\">)))<\/span> <span class=\"o\">+<\/span> scale_color_manual<span class=\"p\">(<\/span>values <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"s\">\"orange\"<\/span><span class=\"p\">,<\/span> \n    <span class=\"s\">\"purple\"<\/span><span class=\"p\">))<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-22.png\" alt=\"plot of chunk ggplot2-Cheatsheet-2\" \/><\/p>\n<h5 id=\"change-shape-or-size-of-points\">Change shape or size of points<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">p2 <span class=\"o\">&lt;-<\/span> p1 <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>size <span class=\"o\">=<\/span> <span class=\"m\">5<\/span><span class=\"p\">)<\/span>  <span class=\"c1\">#increase all points to size 5<\/span>\np3 <span class=\"o\">&lt;-<\/span> p1 <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>size <span class=\"o\">=<\/span> wt<span class=\"p\">))<\/span>  <span class=\"c1\">#set point size by continuous variable<\/span>\np4 <span class=\"o\">&lt;-<\/span> p1 <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>shape <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>am<span class=\"p\">)))<\/span>  <span class=\"c1\">#set point shape by factor variable    <\/span>\ngrid.arrange<span class=\"p\">(<\/span>p2<span class=\"p\">,<\/span> p3<span class=\"p\">,<\/span> p4<span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-31.png\" alt=\"plot of chunk ggplot2-Cheatsheet-3\" \/><\/p>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"c1\"># change the default shapes<\/span>\np1 <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>shape <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>am<span class=\"p\">)))<\/span> <span class=\"o\">+<\/span> scale_shape_manual<span class=\"p\">(<\/span>values <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">0<\/span><span class=\"p\">,<\/span> \n    <span class=\"m\">2<\/span><span class=\"p\">))<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-32.png\" alt=\"plot of chunk ggplot2-Cheatsheet-3\" \/><\/p>\n<h5 id=\"add-lines-to-scatterplot\">Add lines to scatterplot<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">p2 <span class=\"o\">&lt;-<\/span> p1 <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> <span class=\"s\">\"blue\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> geom_line<span class=\"p\">()<\/span>  <span class=\"c1\">#connect points with line<\/span>\np3 <span class=\"o\">&lt;-<\/span> p1 <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> <span class=\"s\">\"red\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> geom_smooth<span class=\"p\">(<\/span>method <span class=\"o\">=<\/span> <span class=\"s\">\"lm\"<\/span><span class=\"p\">,<\/span> se <span class=\"o\">=<\/span> <span class=\"kc\">TRUE<\/span><span class=\"p\">)<\/span>  <span class=\"c1\">#add regression line<\/span>\np4 <span class=\"o\">&lt;-<\/span> p1 <span class=\"o\">+<\/span> geom_point<span class=\"p\">()<\/span> <span class=\"o\">+<\/span> geom_vline<span class=\"p\">(<\/span>xintercept <span class=\"o\">=<\/span> <span class=\"m\">100<\/span><span class=\"p\">,<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"red\"<\/span><span class=\"p\">)<\/span>  <span class=\"c1\">#add vertical line<\/span>\ngrid.arrange<span class=\"p\">(<\/span>p2<span class=\"p\">,<\/span> p3<span class=\"p\">,<\/span> p4<span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-41.png\" alt=\"plot of chunk ggplot2-Cheatsheet-4\" \/><\/p>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"c1\"># take out the points, and just create a line plot, and change size and<\/span>\n<span class=\"c1\"># color as before<\/span>\nggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> wt<span class=\"p\">,<\/span> y <span class=\"o\">=<\/span> qsec<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_line<span class=\"p\">(<\/span>size <span class=\"o\">=<\/span> <span class=\"m\">2<\/span><span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">)))<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-42.png\" alt=\"plot of chunk ggplot2-Cheatsheet-4\" \/><\/p>\n<h5 id=\"change-axis-labels\">Change axis labels<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">p2 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> hp<span class=\"p\">,<\/span> y <span class=\"o\">=<\/span> mpg<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_point<span class=\"p\">()<\/span>\n\n<span class=\"c1\"># label all axes at once<\/span>\np3 <span class=\"o\">&lt;-<\/span> p2 <span class=\"o\">+<\/span> labs<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"s\">\"Horsepower\"<\/span><span class=\"p\">,<\/span> y <span class=\"o\">=<\/span> <span class=\"s\">\"Miles per Gallon\"<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># label and change font size<\/span>\np4 <span class=\"o\">&lt;-<\/span> p2 <span class=\"o\">+<\/span> theme<span class=\"p\">(<\/span>axis.title.x <span class=\"o\">=<\/span> element_text<span class=\"p\">(<\/span>face <span class=\"o\">=<\/span> <span class=\"s\">\"bold\"<\/span><span class=\"p\">,<\/span> size <span class=\"o\">=<\/span> <span class=\"m\">20<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span> labs<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"s\">\"Horsepower\"<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># adjust axis limits and breaks<\/span>\np5 <span class=\"o\">&lt;-<\/span> p2 <span class=\"o\">+<\/span> scale_x_continuous<span class=\"p\">(<\/span><span class=\"s\">\"Horsepower\"<\/span><span class=\"p\">,<\/span> limits <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">0<\/span><span class=\"p\">,<\/span> <span class=\"m\">400<\/span><span class=\"p\">),<\/span> breaks <span class=\"o\">=<\/span> <span class=\"kp\">seq<\/span><span class=\"p\">(<\/span><span class=\"m\">0<\/span><span class=\"p\">,<\/span> \n    <span class=\"m\">400<\/span><span class=\"p\">,<\/span> <span class=\"m\">50<\/span><span class=\"p\">))<\/span>\n\ngrid.arrange<span class=\"p\">(<\/span>p3<span class=\"p\">,<\/span> p4<span class=\"p\">,<\/span> p5<span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-5.png\" alt=\"plot of chunk ggplot2-Cheatsheet-5\" \/><\/p>\n<h5 id=\"change-legend-options\">Change legend options<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">g1<span class=\"o\">&lt;-<\/span>ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> hp<span class=\"p\">,<\/span> y <span class=\"o\">=<\/span> mpg<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>color<span class=\"o\">=<\/span><span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">)))<\/span>\n<span class=\"c1\">#move legend inside<\/span>\ng2 <span class=\"o\">&lt;-<\/span> g1 <span class=\"o\">+<\/span> theme<span class=\"p\">(<\/span>legend.position<span class=\"o\">=<\/span><span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">,<\/span><span class=\"m\">1<\/span><span class=\"p\">),<\/span>legend.justification<span class=\"o\">=<\/span><span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">,<\/span><span class=\"m\">1<\/span><span class=\"p\">))<\/span> \n<span class=\"c1\">#move legend bottom <\/span>\ng3 <span class=\"o\">&lt;-<\/span> g1 <span class=\"o\">+<\/span> theme<span class=\"p\">(<\/span>legend.position <span class=\"o\">=<\/span> <span class=\"s\">\"bottom\"<\/span><span class=\"p\">)<\/span>    \n<span class=\"c1\">#change labels<\/span>\ng4 <span class=\"o\">&lt;-<\/span> g1 <span class=\"o\">+<\/span> scale_color_discrete<span class=\"p\">(<\/span>name <span class=\"o\">=<\/span><span class=\"s\">\"Engine\"<\/span><span class=\"p\">,<\/span> labels<span class=\"o\">=<\/span><span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"s\">\"V-engine\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"Straight engine\"<\/span><span class=\"p\">))<\/span> \ngrid.arrange<span class=\"p\">(<\/span>g2<span class=\"p\">,<\/span> g3<span class=\"p\">,<\/span> g4<span class=\"p\">,<\/span> nrow<span class=\"o\">=<\/span><span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-61.png\" alt=\"plot of chunk ggplot2-Cheatsheet-6\" \/><\/p>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">g5<span class=\"o\">&lt;-<\/span>ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> hp<span class=\"p\">,<\/span> y <span class=\"o\">=<\/span> mpg<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>size<span class=\"o\">=<\/span><span class=\"m\">2<\/span><span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> wt<span class=\"p\">))<\/span>\ng5 <span class=\"o\">+<\/span> scale_color_continuous<span class=\"p\">(<\/span>name<span class=\"o\">=<\/span><span class=\"s\">\"Weight\"<\/span><span class=\"p\">,<\/span> <span class=\"c1\">#name of legend<\/span>\n                            breaks <span class=\"o\">=<\/span> <span class=\"kp\">with<\/span><span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"kp\">min<\/span><span class=\"p\">(<\/span>wt<span class=\"p\">),<\/span> <span class=\"kp\">mean<\/span><span class=\"p\">(<\/span>wt<span class=\"p\">),<\/span> <span class=\"kp\">max<\/span><span class=\"p\">(<\/span>wt<span class=\"p\">))),<\/span> <span class=\"c1\">#choose breaks of variable<\/span>\n                            labels <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Light\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"Medium\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"Heavy\"<\/span><span class=\"p\">),<\/span> <span class=\"c1\">#label<\/span>\n                            low <span class=\"o\">=<\/span> <span class=\"s\">\"pink\"<\/span><span class=\"p\">,<\/span>  <span class=\"c1\">#color of lowest value<\/span>\n                            high <span class=\"o\">=<\/span> <span class=\"s\">\"red\"<\/span>  <span class=\"c1\">#color of highest value<\/span>\n                            <span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-62.png\" alt=\"plot of chunk ggplot2-Cheatsheet-6\" \/><\/p>\n<h5 id=\"change-background-color-and-style\">Change background color and style<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">g2 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> hp<span class=\"p\">,<\/span> y <span class=\"o\">=<\/span> mpg<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_point<span class=\"p\">()<\/span>\n\n<span class=\"c1\"># Completely clear all lines except axis lines and make background white<\/span>\nt1 <span class=\"o\">&lt;-<\/span> theme<span class=\"p\">(<\/span>plot.background <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> panel.grid.major <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> \n    panel.grid.minor <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> panel.border <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> panel.background <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> \n    axis.line <span class=\"o\">=<\/span> element_line<span class=\"p\">(<\/span>size <span class=\"o\">=<\/span> <span class=\"m\">0.4<\/span><span class=\"p\">))<\/span>\n\n<span class=\"c1\"># Use theme to change axis label style<\/span>\nt2 <span class=\"o\">&lt;-<\/span> theme<span class=\"p\">(<\/span>axis.title.x <span class=\"o\">=<\/span> element_text<span class=\"p\">(<\/span>face <span class=\"o\">=<\/span> <span class=\"s\">\"bold\"<\/span><span class=\"p\">,<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"black\"<\/span><span class=\"p\">,<\/span> size <span class=\"o\">=<\/span> <span class=\"m\">10<\/span><span class=\"p\">),<\/span> \n    axis.title.y <span class=\"o\">=<\/span> element_text<span class=\"p\">(<\/span>face <span class=\"o\">=<\/span> <span class=\"s\">\"bold\"<\/span><span class=\"p\">,<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"black\"<\/span><span class=\"p\">,<\/span> size <span class=\"o\">=<\/span> <span class=\"m\">10<\/span><span class=\"p\">),<\/span> \n    plot.title <span class=\"o\">=<\/span> element_text<span class=\"p\">(<\/span>face <span class=\"o\">=<\/span> <span class=\"s\">\"bold\"<\/span><span class=\"p\">,<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"black\"<\/span><span class=\"p\">,<\/span> size <span class=\"o\">=<\/span> <span class=\"m\">12<\/span><span class=\"p\">))<\/span>\n\ng3 <span class=\"o\">&lt;-<\/span> g2 <span class=\"o\">+<\/span> t1\ng4 <span class=\"o\">&lt;-<\/span> g2 <span class=\"o\">+<\/span> theme_bw<span class=\"p\">()<\/span>\ng5 <span class=\"o\">&lt;-<\/span> g2 <span class=\"o\">+<\/span> theme_bw<span class=\"p\">()<\/span> <span class=\"o\">+<\/span> t2 <span class=\"o\">+<\/span> labs<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"s\">\"Horsepower\"<\/span><span class=\"p\">,<\/span> y <span class=\"o\">=<\/span> <span class=\"s\">\"Miles per Gallon\"<\/span><span class=\"p\">,<\/span> \n    title <span class=\"o\">=<\/span> <span class=\"s\">\"MPG vs Horsepower\"<\/span><span class=\"p\">)<\/span>\ngrid.arrange<span class=\"p\">(<\/span>g2<span class=\"p\">,<\/span> g3<span class=\"p\">,<\/span> g4<span class=\"p\">,<\/span> g5<span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-7.png\" alt=\"plot of chunk ggplot2-Cheatsheet-7\" \/><\/p>\n<h5 id=\"a-nice-graph-using-a-combination-of-options\">a nice graph using a combination of options<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">g2 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> hp<span class=\"p\">,<\/span> y <span class=\"o\">=<\/span> mpg<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>size <span class=\"o\">=<\/span> <span class=\"m\">2<\/span><span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">),<\/span> \n    shape <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">)))<\/span> <span class=\"o\">+<\/span> geom_smooth<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">)),<\/span> method <span class=\"o\">=<\/span> <span class=\"s\">\"lm\"<\/span><span class=\"p\">,<\/span> \n    se <span class=\"o\">=<\/span> <span class=\"kc\">TRUE<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> scale_color_manual<span class=\"p\">(<\/span>name <span class=\"o\">=<\/span> <span class=\"s\">\"Engine\"<\/span><span class=\"p\">,<\/span> labels <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"s\">\"V-engine\"<\/span><span class=\"p\">,<\/span> \n    <span class=\"s\">\"Straight engine\"<\/span><span class=\"p\">),<\/span> values <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"s\">\"red\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"blue\"<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span> scale_shape_manual<span class=\"p\">(<\/span>name <span class=\"o\">=<\/span> <span class=\"s\">\"Engine\"<\/span><span class=\"p\">,<\/span> \n    labels <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"s\">\"V-engine\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"Straight engine\"<\/span><span class=\"p\">),<\/span> values <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">0<\/span><span class=\"p\">,<\/span> <span class=\"m\">2<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span> theme_bw<span class=\"p\">()<\/span> <span class=\"o\">+<\/span> \n    theme<span class=\"p\">(<\/span>axis.title.x <span class=\"o\">=<\/span> element_text<span class=\"p\">(<\/span>face <span class=\"o\">=<\/span> <span class=\"s\">\"bold\"<\/span><span class=\"p\">,<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"black\"<\/span><span class=\"p\">,<\/span> size <span class=\"o\">=<\/span> <span class=\"m\">12<\/span><span class=\"p\">),<\/span> \n        axis.title.y <span class=\"o\">=<\/span> element_text<span class=\"p\">(<\/span>face <span class=\"o\">=<\/span> <span class=\"s\">\"bold\"<\/span><span class=\"p\">,<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"black\"<\/span><span class=\"p\">,<\/span> size <span class=\"o\">=<\/span> <span class=\"m\">12<\/span><span class=\"p\">),<\/span> \n        plot.title <span class=\"o\">=<\/span> element_text<span class=\"p\">(<\/span>face <span class=\"o\">=<\/span> <span class=\"s\">\"bold\"<\/span><span class=\"p\">,<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"black\"<\/span><span class=\"p\">,<\/span> size <span class=\"o\">=<\/span> <span class=\"m\">12<\/span><span class=\"p\">),<\/span> \n        legend.position <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">,<\/span> <span class=\"m\">1<\/span><span class=\"p\">),<\/span> legend.justification <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">,<\/span> <span class=\"m\">1<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span> labs<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"s\">\"Horsepower\"<\/span><span class=\"p\">,<\/span> \n    y <span class=\"o\">=<\/span> <span class=\"s\">\"Miles per Gallon\"<\/span><span class=\"p\">,<\/span> title <span class=\"o\">=<\/span> <span class=\"s\">\"Linear Regression (95% CI) of MPG vs Horsepower by Engine type\"<\/span><span class=\"p\">)<\/span>\n\ng2\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-8.png\" alt=\"plot of chunk ggplot2-Cheatsheet-8\" \/><\/p>\n<h4 id=\"barplots\">Barplots<\/h4>\n<h5 id=\"basic-barplot\">Basic barplot<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>gear<span class=\"p\">)))<\/span> <span class=\"o\">+<\/span> geom_bar<span class=\"p\">(<\/span>stat <span class=\"o\">=<\/span> <span class=\"s\">\"bin\"<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-9.png\" alt=\"plot of chunk ggplot2-Cheatsheet-9\" \/><\/p>\n<h5 id=\"horizontal-bars,-colors,-width-of-bars\">Horizontal bars, colors, width of bars<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"c1\"># 1. horizontal bars<\/span>\np1 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>gear<span class=\"p\">),<\/span> y <span class=\"o\">=<\/span> wt<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> stat_summary<span class=\"p\">(<\/span>fun.y <span class=\"o\">=<\/span> <span class=\"kp\">mean<\/span><span class=\"p\">,<\/span> \n    geom <span class=\"o\">=<\/span> <span class=\"s\">\"bar\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> coord_flip<span class=\"p\">()<\/span>\n\n<span class=\"c1\"># 2. change colors of bars<\/span>\np2 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>gear<span class=\"p\">),<\/span> y <span class=\"o\">=<\/span> wt<span class=\"p\">,<\/span> fill <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>gear<span class=\"p\">)))<\/span> <span class=\"o\">+<\/span> stat_summary<span class=\"p\">(<\/span>fun.y <span class=\"o\">=<\/span> <span class=\"kp\">mean<\/span><span class=\"p\">,<\/span> \n    geom <span class=\"o\">=<\/span> <span class=\"s\">\"bar\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> scale_fill_manual<span class=\"p\">(<\/span>values <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"s\">\"purple\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"blue\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"darkgreen\"<\/span><span class=\"p\">))<\/span>\n\n<span class=\"c1\"># 3. change width of bars<\/span>\np3 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>gear<span class=\"p\">),<\/span> y <span class=\"o\">=<\/span> wt<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> stat_summary<span class=\"p\">(<\/span>fun.y <span class=\"o\">=<\/span> <span class=\"kp\">mean<\/span><span class=\"p\">,<\/span> \n    geom <span class=\"o\">=<\/span> <span class=\"s\">\"bar\"<\/span><span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>width <span class=\"o\">=<\/span> <span class=\"m\">0.5<\/span><span class=\"p\">))<\/span>\n\ngrid.arrange<span class=\"p\">(<\/span>p1<span class=\"p\">,<\/span> p2<span class=\"p\">,<\/span> p3<span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-10.png\" alt=\"plot of chunk ggplot2-Cheatsheet-10\" \/><\/p>\n<h5 id=\"split-and-color-by-another-variable\">Split and color by another variable<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"c1\"># 1. next to each other<\/span>\np1 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>gear<span class=\"p\">),<\/span> y <span class=\"o\">=<\/span> wt<span class=\"p\">,<\/span> fill <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">)),<\/span> color <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> \n    stat_summary<span class=\"p\">(<\/span>fun.y <span class=\"o\">=<\/span> <span class=\"kp\">mean<\/span><span class=\"p\">,<\/span> position <span class=\"o\">=<\/span> position_dodge<span class=\"p\">(),<\/span> geom <span class=\"o\">=<\/span> <span class=\"s\">\"bar\"<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># 2. stacked<\/span>\np2 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>gear<span class=\"p\">),<\/span> y <span class=\"o\">=<\/span> wt<span class=\"p\">,<\/span> fill <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">)),<\/span> color <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> \n    stat_summary<span class=\"p\">(<\/span>fun.y <span class=\"o\">=<\/span> <span class=\"kp\">mean<\/span><span class=\"p\">,<\/span> position <span class=\"o\">=<\/span> <span class=\"s\">\"stack\"<\/span><span class=\"p\">,<\/span> geom <span class=\"o\">=<\/span> <span class=\"s\">\"bar\"<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># 3. with facets<\/span>\np3 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>gear<span class=\"p\">),<\/span> y <span class=\"o\">=<\/span> wt<span class=\"p\">,<\/span> fill <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">)),<\/span> color <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> \n    stat_summary<span class=\"p\">(<\/span>fun.y <span class=\"o\">=<\/span> <span class=\"kp\">mean<\/span><span class=\"p\">,<\/span> geom <span class=\"o\">=<\/span> <span class=\"s\">\"bar\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> facet_wrap<span class=\"p\">(<\/span><span class=\"o\">~<\/span>vs<span class=\"p\">)<\/span>\n\ngrid.arrange<span class=\"p\">(<\/span>p1<span class=\"p\">,<\/span> p2<span class=\"p\">,<\/span> p3<span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-11.png\" alt=\"plot of chunk ggplot2-Cheatsheet-11\" \/><\/p>\n<h5 id=\"add-text-to-the-bars,-label-axes,-and-label-legend\">Add text to the bars, label axes, and label legend<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">ag.mtc <span class=\"o\">&lt;-<\/span> aggregate<span class=\"p\">(<\/span>mtc<span class=\"o\">$<\/span>wt<span class=\"p\">,<\/span> by <span class=\"o\">=<\/span> <span class=\"kt\">list<\/span><span class=\"p\">(<\/span>mtc<span class=\"o\">$<\/span>gear<span class=\"p\">,<\/span> mtc<span class=\"o\">$<\/span>vs<span class=\"p\">),<\/span> FUN <span class=\"o\">=<\/span> <span class=\"kp\">mean<\/span><span class=\"p\">)<\/span>\n<span class=\"kp\">colnames<\/span><span class=\"p\">(<\/span>ag.mtc<span class=\"p\">)<\/span> <span class=\"o\">&lt;-<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"s\">\"gear\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"vs\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"meanwt\"<\/span><span class=\"p\">)<\/span>\nag.mtc\n<\/code><\/pre>\n<\/div>\n<div class=\"highlight\">\n<pre><code class=\"language-text\" data-lang=\"text\">  gear vs meanwt\n1    3  0  4.104\n2    4  0  2.748\n3    5  0  2.913\n4    3  1  3.047\n5    4  1  2.591\n6    5  1  1.513\n<\/code><\/pre>\n<\/div>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"c1\"># 1. basic<\/span>\ng1 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>ag.mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>gear<span class=\"p\">),<\/span> y <span class=\"o\">=<\/span> meanwt<span class=\"p\">,<\/span> fill <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">),<\/span> color <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">)))<\/span> <span class=\"o\">+<\/span> \n    geom_bar<span class=\"p\">(<\/span>stat <span class=\"o\">=<\/span> <span class=\"s\">\"identity\"<\/span><span class=\"p\">,<\/span> position <span class=\"o\">=<\/span> position_dodge<span class=\"p\">())<\/span> <span class=\"o\">+<\/span> geom_text<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>y <span class=\"o\">=<\/span> meanwt<span class=\"p\">,<\/span> \n    ymax <span class=\"o\">=<\/span> meanwt<span class=\"p\">,<\/span> label <span class=\"o\">=<\/span> meanwt<span class=\"p\">),<\/span> position <span class=\"o\">=<\/span> position_dodge<span class=\"p\">(<\/span>width <span class=\"o\">=<\/span> <span class=\"m\">0.9<\/span><span class=\"p\">),<\/span> \n    vjust <span class=\"o\">=<\/span> <span class=\"m\">-0.5<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># 2. fixing the yaxis problem, changing the color of text, legend labels,<\/span>\n<span class=\"c1\"># and rounding to 2 decimals<\/span>\ng2 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>ag.mtc<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>gear<span class=\"p\">),<\/span> y <span class=\"o\">=<\/span> meanwt<span class=\"p\">,<\/span> fill <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>vs<span class=\"p\">)))<\/span> <span class=\"o\">+<\/span> \n    geom_bar<span class=\"p\">(<\/span>stat <span class=\"o\">=<\/span> <span class=\"s\">\"identity\"<\/span><span class=\"p\">,<\/span> position <span class=\"o\">=<\/span> position_dodge<span class=\"p\">())<\/span> <span class=\"o\">+<\/span> geom_text<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>y <span class=\"o\">=<\/span> meanwt<span class=\"p\">,<\/span> \n    ymax <span class=\"o\">=<\/span> meanwt<span class=\"p\">,<\/span> label <span class=\"o\">=<\/span> <span class=\"kp\">round<\/span><span class=\"p\">(<\/span>meanwt<span class=\"p\">,<\/span> <span class=\"m\">2<\/span><span class=\"p\">)),<\/span> position <span class=\"o\">=<\/span> position_dodge<span class=\"p\">(<\/span>width <span class=\"o\">=<\/span> <span class=\"m\">0.9<\/span><span class=\"p\">),<\/span> \n    vjust <span class=\"o\">=<\/span> <span class=\"m\">-0.5<\/span><span class=\"p\">,<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"black\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> scale_y_continuous<span class=\"p\">(<\/span><span class=\"s\">\"Mean Weight\"<\/span><span class=\"p\">,<\/span> limits <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">0<\/span><span class=\"p\">,<\/span> \n    <span class=\"m\">4.5<\/span><span class=\"p\">),<\/span> breaks <span class=\"o\">=<\/span> <span class=\"kp\">seq<\/span><span class=\"p\">(<\/span><span class=\"m\">0<\/span><span class=\"p\">,<\/span> <span class=\"m\">4.5<\/span><span class=\"p\">,<\/span> <span class=\"m\">0.5<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span> scale_x_discrete<span class=\"p\">(<\/span><span class=\"s\">\"Number of Gears\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> \n    scale_fill_discrete<span class=\"p\">(<\/span>name <span class=\"o\">=<\/span> <span class=\"s\">\"Engine\"<\/span><span class=\"p\">,<\/span> labels <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"s\">\"V-engine\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"Straight engine\"<\/span><span class=\"p\">))<\/span>\n\ngrid.arrange<span class=\"p\">(<\/span>g1<span class=\"p\">,<\/span> g2<span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-12.png\" alt=\"plot of chunk ggplot2-Cheatsheet-12\" \/><\/p>\n<h5 id=\"add-error-bars\">Add error bars<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">summary.mtc2 <span class=\"o\">&lt;-<\/span> <span class=\"kt\">data.frame<\/span><span class=\"p\">(<\/span>gear <span class=\"o\">=<\/span> <span class=\"kp\">levels<\/span><span class=\"p\">(<\/span><span class=\"kp\">as.factor<\/span><span class=\"p\">(<\/span>mtc<span class=\"o\">$<\/span>gear<span class=\"p\">)),<\/span> meanwt <span class=\"o\">=<\/span> <span class=\"kp\">tapply<\/span><span class=\"p\">(<\/span>mtc<span class=\"o\">$<\/span>wt<span class=\"p\">,<\/span> \n    mtc<span class=\"o\">$<\/span>gear<span class=\"p\">,<\/span> <span class=\"kp\">mean<\/span><span class=\"p\">),<\/span> sd <span class=\"o\">=<\/span> <span class=\"kp\">tapply<\/span><span class=\"p\">(<\/span>mtc<span class=\"o\">$<\/span>wt<span class=\"p\">,<\/span> mtc<span class=\"o\">$<\/span>gear<span class=\"p\">,<\/span> sd<span class=\"p\">))<\/span>\nsummary.mtc2\n<\/code><\/pre>\n<\/div>\n<div class=\"highlight\">\n<pre><code class=\"language-text\" data-lang=\"text\">  gear meanwt     sd\n3    3  3.893 0.8330\n4    4  2.617 0.6327\n5    5  2.633 0.8189\n<\/code><\/pre>\n<\/div>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\">ggplot<span class=\"p\">(<\/span>summary.mtc2<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>gear<span class=\"p\">),<\/span> y <span class=\"o\">=<\/span> meanwt<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_bar<span class=\"p\">(<\/span>stat <span class=\"o\">=<\/span> <span class=\"s\">\"identity\"<\/span><span class=\"p\">,<\/span> \n    position <span class=\"o\">=<\/span> <span class=\"s\">\"dodge\"<\/span><span class=\"p\">,<\/span> fill <span class=\"o\">=<\/span> <span class=\"s\">\"lightblue\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> geom_errorbar<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>ymin <span class=\"o\">=<\/span> meanwt <span class=\"o\">-<\/span> \n    sd<span class=\"p\">,<\/span> ymax <span class=\"o\">=<\/span> meanwt <span class=\"o\">+<\/span> sd<span class=\"p\">),<\/span> width <span class=\"o\">=<\/span> <span class=\"m\">0.3<\/span><span class=\"p\">,<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"darkblue\"<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-13.png\" alt=\"plot of chunk ggplot2-Cheatsheet-13\" \/><\/p>\n<h5 id=\"add-best-fit-line\">Add best fit line<\/h5>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"c1\"># summarize data<\/span>\nsummary.mtc3 <span class=\"o\">&lt;-<\/span> <span class=\"kt\">data.frame<\/span><span class=\"p\">(<\/span>hp <span class=\"o\">=<\/span> <span class=\"kp\">levels<\/span><span class=\"p\">(<\/span><span class=\"kp\">as.factor<\/span><span class=\"p\">(<\/span>mtc<span class=\"o\">$<\/span>hp<span class=\"p\">)),<\/span> meanmpg <span class=\"o\">=<\/span> <span class=\"kp\">tapply<\/span><span class=\"p\">(<\/span>mtc<span class=\"o\">$<\/span>mpg<span class=\"p\">,<\/span> \n    mtc<span class=\"o\">$<\/span>hp<span class=\"p\">,<\/span> <span class=\"kp\">mean<\/span><span class=\"p\">))<\/span>\n\n<span class=\"c1\"># run a model<\/span>\nl <span class=\"o\">&lt;-<\/span> <span class=\"kp\">summary<\/span><span class=\"p\">(<\/span>lm<span class=\"p\">(<\/span>meanmpg <span class=\"o\">~<\/span> <span class=\"kp\">as.numeric<\/span><span class=\"p\">(<\/span>hp<span class=\"p\">),<\/span> data <span class=\"o\">=<\/span> summary.mtc3<span class=\"p\">))<\/span>\n\n<span class=\"c1\"># manually entering the intercept and slope<\/span>\nf1 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>summary.mtc3<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>hp<span class=\"p\">),<\/span> y <span class=\"o\">=<\/span> meanmpg<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_bar<span class=\"p\">(<\/span>stat <span class=\"o\">=<\/span> <span class=\"s\">\"identity\"<\/span><span class=\"p\">,<\/span> \n    fill <span class=\"o\">=<\/span> <span class=\"s\">\"darkblue\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> geom_abline<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>intercept <span class=\"o\">=<\/span> l<span class=\"o\">$<\/span>coef<span class=\"p\">[<\/span><span class=\"m\">1<\/span><span class=\"p\">,<\/span> <span class=\"m\">1<\/span><span class=\"p\">],<\/span> slope <span class=\"o\">=<\/span> l<span class=\"o\">$<\/span>coef<span class=\"p\">[<\/span><span class=\"m\">2<\/span><span class=\"p\">,<\/span> \n    <span class=\"m\">1<\/span><span class=\"p\">]),<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"red\"<\/span><span class=\"p\">,<\/span> size <span class=\"o\">=<\/span> <span class=\"m\">1.5<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># using stat_smooth to fit the line for you<\/span>\nf2 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>summary.mtc3<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> <span class=\"kp\">factor<\/span><span class=\"p\">(<\/span>hp<span class=\"p\">),<\/span> y <span class=\"o\">=<\/span> meanmpg<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_bar<span class=\"p\">(<\/span>stat <span class=\"o\">=<\/span> <span class=\"s\">\"identity\"<\/span><span class=\"p\">,<\/span> \n    fill <span class=\"o\">=<\/span> <span class=\"s\">\"darkblue\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> stat_smooth<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>group <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">),<\/span> method <span class=\"o\">=<\/span> <span class=\"s\">\"lm\"<\/span><span class=\"p\">,<\/span> se <span class=\"o\">=<\/span> <span class=\"kc\">FALSE<\/span><span class=\"p\">,<\/span> \n    color <span class=\"o\">=<\/span> <span class=\"s\">\"orange\"<\/span><span class=\"p\">,<\/span> size <span class=\"o\">=<\/span> <span class=\"m\">1.5<\/span><span class=\"p\">)<\/span>\n\ngrid.arrange<span class=\"p\">(<\/span>f1<span class=\"p\">,<\/span> f2<span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-14.png\" alt=\"plot of chunk ggplot2-Cheatsheet-14\" \/><\/p>\n<h4 id=\"histograms\">Histograms<\/h4>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"kp\">set.seed<\/span><span class=\"p\">(<\/span><span class=\"m\">999<\/span><span class=\"p\">)<\/span>\nxvar <span class=\"o\">&lt;-<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span>rnorm<span class=\"p\">(<\/span><span class=\"m\">1500<\/span><span class=\"p\">,<\/span> mean <span class=\"o\">=<\/span> <span class=\"m\">-1<\/span><span class=\"p\">),<\/span> rnorm<span class=\"p\">(<\/span><span class=\"m\">1500<\/span><span class=\"p\">,<\/span> mean <span class=\"o\">=<\/span> <span class=\"m\">1.5<\/span><span class=\"p\">))<\/span>\nyvar <span class=\"o\">&lt;-<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span>rnorm<span class=\"p\">(<\/span><span class=\"m\">1500<\/span><span class=\"p\">,<\/span> mean <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">),<\/span> rnorm<span class=\"p\">(<\/span><span class=\"m\">1500<\/span><span class=\"p\">,<\/span> mean <span class=\"o\">=<\/span> <span class=\"m\">1.5<\/span><span class=\"p\">))<\/span>\nzvar <span class=\"o\">&lt;-<\/span> <span class=\"kp\">as.factor<\/span><span class=\"p\">(<\/span><span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"kp\">rep<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">,<\/span> <span class=\"m\">1500<\/span><span class=\"p\">),<\/span> <span class=\"kp\">rep<\/span><span class=\"p\">(<\/span><span class=\"m\">2<\/span><span class=\"p\">,<\/span> <span class=\"m\">1500<\/span><span class=\"p\">)))<\/span>\nxy <span class=\"o\">&lt;-<\/span> <span class=\"kt\">data.frame<\/span><span class=\"p\">(<\/span>xvar<span class=\"p\">,<\/span> yvar<span class=\"p\">,<\/span> zvar<span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"c1\"># counts on y-axis<\/span>\ng1 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>xvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_histogram<span class=\"p\">()<\/span>  <span class=\"c1\">#horribly ugly default<\/span>\ng2 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>xvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_histogram<span class=\"p\">(<\/span>binwidth <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>  <span class=\"c1\">#change binwidth<\/span>\ng3 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>xvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_histogram<span class=\"p\">(<\/span>fill <span class=\"o\">=<\/span> <span class=\"kc\">NA<\/span><span class=\"p\">,<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"black\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> theme_bw<span class=\"p\">()<\/span>  <span class=\"c1\">#nicer looking<\/span>\n\n<span class=\"c1\"># density on y-axis<\/span>\ng4 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> xvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_histogram<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>y <span class=\"o\">=<\/span> <span class=\"m\">..<\/span>density..<span class=\"p\">),<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"black\"<\/span><span class=\"p\">,<\/span> \n    fill <span class=\"o\">=<\/span> <span class=\"kc\">NA<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> theme_bw<span class=\"p\">()<\/span>\n\ngrid.arrange<span class=\"p\">(<\/span>g1<span class=\"p\">,<\/span> g2<span class=\"p\">,<\/span> g3<span class=\"p\">,<\/span> g4<span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-16.png\" alt=\"plot of chunk ggplot2-Cheatsheet-16\" \/><\/p>\n<h4 id=\"density-plots\">Density plots<\/h4>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"c1\"># basic density<\/span>\np1 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>xvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_density<span class=\"p\">()<\/span>\n\n<span class=\"c1\"># histogram with density line overlaid<\/span>\np2 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> xvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_histogram<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>y <span class=\"o\">=<\/span> <span class=\"m\">..<\/span>density..<span class=\"p\">),<\/span> color <span class=\"o\">=<\/span> <span class=\"s\">\"black\"<\/span><span class=\"p\">,<\/span> \n    fill <span class=\"o\">=<\/span> <span class=\"kc\">NA<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> geom_density<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> <span class=\"s\">\"blue\"<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># split and color by third variable, alpha fades the color a bit<\/span>\np3 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>xvar<span class=\"p\">,<\/span> fill <span class=\"o\">=<\/span> zvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_density<span class=\"p\">(<\/span>alpha <span class=\"o\">=<\/span> <span class=\"m\">0.2<\/span><span class=\"p\">)<\/span>\n\ngrid.arrange<span class=\"p\">(<\/span>p1<span class=\"p\">,<\/span> p2<span class=\"p\">,<\/span> p3<span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-17.png\" alt=\"plot of chunk ggplot2-Cheatsheet-17\" \/><\/p>\n<h4 id=\"boxplots\">Boxplots<\/h4>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"c1\"># boxplot<\/span>\nb1 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>zvar<span class=\"p\">,<\/span> xvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_boxplot<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>fill <span class=\"o\">=<\/span> zvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> theme<span class=\"p\">(<\/span>legend.position <span class=\"o\">=<\/span> <span class=\"s\">\"none\"<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># jitter plot<\/span>\nb2 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>zvar<span class=\"p\">,<\/span> xvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_jitter<span class=\"p\">(<\/span>alpha <span class=\"o\">=<\/span> <span class=\"kp\">I<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"o\">\/<\/span><span class=\"m\">4<\/span><span class=\"p\">),<\/span> aes<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> zvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> \n    theme<span class=\"p\">(<\/span>legend.position <span class=\"o\">=<\/span> <span class=\"s\">\"none\"<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># violin plot<\/span>\nb3 <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>x <span class=\"o\">=<\/span> xvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> stat_density<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>ymax <span class=\"o\">=<\/span> <span class=\"m\">..<\/span>density..<span class=\"p\">,<\/span> ymin <span class=\"o\">=<\/span> <span class=\"m\">-..<\/span>density..<span class=\"p\">,<\/span> \n    fill <span class=\"o\">=<\/span> zvar<span class=\"p\">,<\/span> color <span class=\"o\">=<\/span> zvar<span class=\"p\">),<\/span> geom <span class=\"o\">=<\/span> <span class=\"s\">\"ribbon\"<\/span><span class=\"p\">,<\/span> position <span class=\"o\">=<\/span> <span class=\"s\">\"identity\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> facet_grid<span class=\"p\">(<\/span><span class=\"m\">.<\/span> <span class=\"o\">~<\/span> \n    zvar<span class=\"p\">)<\/span> <span class=\"o\">+<\/span> coord_flip<span class=\"p\">()<\/span> <span class=\"o\">+<\/span> theme<span class=\"p\">(<\/span>legend.position <span class=\"o\">=<\/span> <span class=\"s\">\"none\"<\/span><span class=\"p\">)<\/span>\n\ngrid.arrange<span class=\"p\">(<\/span>b1<span class=\"p\">,<\/span> b2<span class=\"p\">,<\/span> b3<span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-18.png\" alt=\"plot of chunk ggplot2-Cheatsheet-18\" \/><\/p>\n<h4 id=\"putting-multiple-plots-together\">Putting multiple plots together<\/h4>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"c1\"># rug plot<\/span>\nggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>xvar<span class=\"p\">,<\/span> yvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_point<span class=\"p\">()<\/span> <span class=\"o\">+<\/span> geom_rug<span class=\"p\">(<\/span>col <span class=\"o\">=<\/span> <span class=\"s\">\"darkred\"<\/span><span class=\"p\">,<\/span> alpha <span class=\"o\">=<\/span> <span class=\"m\">0.1<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-19.png\" alt=\"plot of chunk ggplot2-Cheatsheet-19\" \/><\/p>\n<div class=\"highlight\">\n<pre><code class=\"language-r\" data-lang=\"r\"><span class=\"c1\"># placeholder plot - prints nothing at all<\/span>\nempty <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">()<\/span> <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">,<\/span> <span class=\"m\">1<\/span><span class=\"p\">),<\/span> colour <span class=\"o\">=<\/span> <span class=\"s\">\"white\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> theme<span class=\"p\">(<\/span>plot.background <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> \n    panel.grid.major <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> panel.grid.minor <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> \n    panel.border <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> panel.background <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> axis.title.x <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> \n    axis.title.y <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> axis.text.x <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> axis.text.y <span class=\"o\">=<\/span> element_blank<span class=\"p\">(),<\/span> \n    axis.ticks <span class=\"o\">=<\/span> element_blank<span class=\"p\">())<\/span>\n\n<span class=\"c1\"># scatterplot of x and y variables<\/span>\nscatter <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>xvar<span class=\"p\">,<\/span> yvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_point<span class=\"p\">(<\/span>aes<span class=\"p\">(<\/span>color <span class=\"o\">=<\/span> zvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> scale_color_manual<span class=\"p\">(<\/span>values <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"s\">\"orange\"<\/span><span class=\"p\">,<\/span> \n    <span class=\"s\">\"purple\"<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span> theme<span class=\"p\">(<\/span>legend.position <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">,<\/span> <span class=\"m\">1<\/span><span class=\"p\">),<\/span> legend.justification <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">,<\/span> \n    <span class=\"m\">1<\/span><span class=\"p\">))<\/span>\n\n<span class=\"c1\"># marginal density of x - plot on top<\/span>\nplot_top <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>xvar<span class=\"p\">,<\/span> fill <span class=\"o\">=<\/span> zvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_density<span class=\"p\">(<\/span>alpha <span class=\"o\">=<\/span> <span class=\"m\">0.5<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> \n    scale_fill_manual<span class=\"p\">(<\/span>values <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"s\">\"orange\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"purple\"<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span> theme<span class=\"p\">(<\/span>legend.position <span class=\"o\">=<\/span> <span class=\"s\">\"none\"<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># marginal density of y - plot on the right<\/span>\nplot_right <span class=\"o\">&lt;-<\/span> ggplot<span class=\"p\">(<\/span>xy<span class=\"p\">,<\/span> aes<span class=\"p\">(<\/span>yvar<span class=\"p\">,<\/span> fill <span class=\"o\">=<\/span> zvar<span class=\"p\">))<\/span> <span class=\"o\">+<\/span> geom_density<span class=\"p\">(<\/span>alpha <span class=\"o\">=<\/span> <span class=\"m\">0.5<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> \n    coord_flip<span class=\"p\">()<\/span> <span class=\"o\">+<\/span> scale_fill_manual<span class=\"p\">(<\/span>values <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"s\">\"orange\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"purple\"<\/span><span class=\"p\">))<\/span> <span class=\"o\">+<\/span> theme<span class=\"p\">(<\/span>legend.position <span class=\"o\">=<\/span> <span class=\"s\">\"none\"<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># arrange the plots together, with appropriate height and width for each row<\/span>\n<span class=\"c1\"># and column<\/span>\ngrid.arrange<span class=\"p\">(<\/span>plot_top<span class=\"p\">,<\/span> empty<span class=\"p\">,<\/span> scatter<span class=\"p\">,<\/span> plot_right<span class=\"p\">,<\/span> ncol <span class=\"o\">=<\/span> <span class=\"m\">2<\/span><span class=\"p\">,<\/span> nrow <span class=\"o\">=<\/span> <span class=\"m\">2<\/span><span class=\"p\">,<\/span> widths <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">4<\/span><span class=\"p\">,<\/span> \n    <span class=\"m\">1<\/span><span class=\"p\">),<\/span> heights <span class=\"o\">=<\/span> <span class=\"kt\">c<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">,<\/span> <span class=\"m\">4<\/span><span class=\"p\">))<\/span>\n<\/code><\/pre>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/felixfan.github.io\/figure\/ggplot2-Cheatsheet-20.png\" alt=\"plot of chunk ggplot2-Cheatsheet-20\" \/><\/p>\n<p>Original post is available <a href=\"http:\/\/rforpublichealth.blogspot.hk\/search\/label\/ggplot2\">here<\/a><\/p>\n<\/div>\n<div class=\"span4\">\n<h4><a href=\"http:\/\/felixfan.github.io\/\">Home<\/a> <a href=\"http:\/\/felixfan.github.io\/softwares\">Projects<\/a> <a href=\"http:\/\/felixfan.github.io\/artist\">ArtistD<\/a> <a href=\"http:\/\/felixfan.github.io\/cv\">CV<\/a> <a href=\"http:\/\/felixfan.github.io\/about\">About<\/a><\/h4>\n<h3>Felix Yanhui Fan, PhD <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dl.dropboxusercontent.com\/u\/8272421\/felix.jpg\" alt=\"Smiley face\" width=\"84\" height=\"84\" \/><\/h3>\n<p><a href=\"http:\/\/www.linkedin.com\/in\/fanfelix\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dl.dropboxusercontent.com\/u\/8272421\/linkedin.jpg\" alt=\"Smiley face\" width=\"42\" height=\"42\" \/> <\/a><a href=\"https:\/\/github.com\/felixfan\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dl.dropboxusercontent.com\/u\/8272421\/GitHub.png\" alt=\"Smiley face\" width=\"60\" height=\"60\" \/> <\/a><a href=\"https:\/\/www.researchgate.net\/profile\/Yan-Hui_Fan\/\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/dl.dropboxusercontent.com\/u\/8272421\/rg.jpg\" alt=\"Smiley face\" width=\"42\" height=\"42\" \/><\/a><\/p>\n<hr \/>\n<h3>Recent Posts<\/h3>\n<ul>\n<li><a href=\"http:\/\/felixfan.github.io\/bioinformatics\/2014\/10\/22\/linux-find\/\">find: search for files or directories hierarchy<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/bioinformatics\/2014\/10\/21\/linux-ftp\/\">linux ftp command<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/python\/2014\/10\/19\/install-pip\/\">using pip on windows 7<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/rstudy\/2014\/10\/16\/pair-wise-plot\/\">Pair-wise comparisons plot<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/bioinformatics\/2014\/08\/19\/quantify-ld\/\">Quantification of Relationship Between Allele Frequencies and <span class=\"math\"><span id=\"MathJax-Element-1-Frame\" class=\"MathJax\"><span id=\"MathJax-Span-1\" class=\"math\"><span id=\"MathJax-Span-2\" class=\"mrow\"><span id=\"MathJax-Span-3\" class=\"msubsup\"><span id=\"MathJax-Span-4\" class=\"mi\">r<\/span><span id=\"MathJax-Span-5\" class=\"mn\">2<\/span><\/span><\/span><\/span><\/span><\/span><\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/bioinformatics\/2014\/07\/03\/coverage\/\">Coverage of GWAS<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/bioinformatics\/2014\/06\/20\/shell-script\/\">shell script one-liners<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/rstudy\/2014\/06\/03\/use-size-of-point-to-represent-the-number-of-it\/\">Represent the number of data pairs (x,y) by using the point size<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/rstudy\/2014\/05\/20\/R-Aggregate\/\">R aggregate()<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/finance\/2014\/05\/12\/FinCal-example-0.6\/\">Examples of using FinCal<\/a><\/li>\n<\/ul>\n<hr \/>\n<h3>Tags<\/h3>\n<ul>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/GWAS\">GWAS<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Bioinformatics\">Bioinformatics<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Perl\">Perl<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Genetics\">Genetics<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/R\">R<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Finance\">Finance<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/wordcloud\">wordcloud<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/PubMed\">PubMed<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Plot\">Plot<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/MiKTeX\">MiKTeX<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/LaTeX\">LaTeX<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Regular%20Expressions\">Regular Expressions<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/RegEx\">RegEx<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Webpages\">Webpages<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/SNP\">SNP<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/kgp\">kgp<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/NGS\">NGS<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Genomic%20Inflation%20Factor\">Genomic Inflation Factor<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Population%20Structure\">Population Structure<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Plink\">Plink<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Logistic%20regression\">Logistic regression<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Microarray\">Microarray<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/GEO\">GEO<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Gene%20Expression\">Gene Expression<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/plyr\">plyr<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Pandoc\">Pandoc<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/RStudio\">RStudio<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/kintr\">kintr<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/ggplot2\">ggplot2<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Mathematics\">Mathematics<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/reshape2\">reshape2<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/MySQL\">MySQL<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/data.table\">data.table<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Statistics\">Statistics<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/C++\">C++<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/database\">database<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Odds%20Ratio\">Odds Ratio<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Relative%20Risk\">Relative Risk<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/aggregate\">aggregate<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Linux\">Linux<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/Python\">Python<\/a><\/li>\n<li><a href=\"http:\/\/felixfan.github.io\/tags\/pip\">pip<\/a><\/li>\n<\/ul>\n<hr \/>\n<p><a title=\"free web counter\" href=\"http:\/\/www.tinycounter.com\/\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"http:\/\/mycounter.tinycounter.com\/index.php?user=felixfan\" alt=\"free web counter\" border=\"0\" \/><\/a><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>R for Public Health library(ggplot2) library(gridExtra) mtc &lt;- mtcars head(mtc) mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-853","post","type-post","status-publish","format-standard","hentry","category-r"],"_links":{"self":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/posts\/853","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/comments?post=853"}],"version-history":[{"count":0,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/posts\/853\/revisions"}],"wp:attachment":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/media?parent=853"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/categories?post=853"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/tags?post=853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}