<!DOCTYPE html>
<html lang="en">






<head>
<meta charset="utf-8">
<title>Advanced R barplot customization &#8211; the R Graph Gallery</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="Take your basic R barplot to the next step: modify axis, label orientation, margins, and more.">
<meta name="keywords" content="R,ggplot2,tidyverse,Example,Data,Dataviz,Datavisualization,Plot,Chart,Graph,Learning,Caveat,Pitfall,Mistake">
<meta name="author" content="Yan Holtz">

<!-- Control appearance when shared by social media -->
<meta property="og:title" content="Advanced R barplot customization" />
<meta property="og:image" content="https://github.com/holtzy/R-graph-gallery/raw/master/img/logo/R_single_big.png" />
<meta property="og:description" content="Take your basic R barplot to the next step: modify axis, label orientation, margins, and more." />
<meta property='og:url' content="https://www.r-graph-gallery.com/210-custom-barplot-layout.html" />
<meta property="og:type" content="website" />

<!-- Bootstrap core CSS -->
<link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">

<!-- Custom fonts for this template -->
<link href="vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">

<!-- Custom styles for this template -->
<link href="css/agency.css" rel="stylesheet">

<!-- JQUERY -->
<script src="vendor/jquery/jquery.min.js"></script>

</head>





<body data-spy="scroll" data-target="#myScrollspy" data-offset="1">


<!-- THIS ALLOWS TO INSERT THE MENU -->
<nav class="navbar navbar-expand-lg fixed-top" id="mainNav">
<div class="container">
  <a href="index.html">&larr; R Graph Gallery</a>
  <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
    Menu
    <i class="fa fa-bars"></i>
  </button>
  <div class="collapse navbar-collapse" id="navbarResponsive">
    <ul class="navbar-nav text-uppercase ml-auto">
      <li class="nav-item">
        <a class="nav-link" data-toggle="modal" href="#researchModal"><i class="fa fa-search"></i></a>
      </li>
      <li class="nav-item">
        <a class="nav-link" data-toggle="modal" href="#LogoMenu">Chart types</a>
      </li>
      <li class="nav-item dropdown">
        <a class="nav-link" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
          Quick
        </a>
        <div class="dropdown-menu" aria-labelledby="navbarDropdown">
          <p class="menuTitle"><i>Basics</i></p>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/intro_d3js.html">Intro to d3</a>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/graph/shape.html">Shape</a>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/graph/basic_datamanipulation.html">Data wrangling</a>
          <p class="menuTitle"><i>Customize</i></p>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/graph/custom_axis.html">Axis</a>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/graph/custom_color.html">Color</a>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/graph/custom_theme.html">Themes</a>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/graph/custom_legend.html">Legend</a>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/graph/custom_responsive.html">Responsivness</a>
          <p class="menuTitle"><i>Interactivity</i></p>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/graph/interactivity_tooltip.html">Tooltip</a>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/graph/interactivity_button.html">Button</a>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/graph/interactivity_zoom.html">Zoom</a>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/graph/interactivity_brush.html">Brushing</a>
          <a class="dropdown-item" href="https://www.d3-graph-gallery.com/interactivity.html">Transition</a>
        </div>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="../all.html">ALL</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="https://www.r-graph-gallery.com">R</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="https://www.python-graph-gallery.com">Python</a>
      </li>
      <li class="nav-item">
        <a class="nav-link js-scroll-trigger" href="https://www.data-to-viz.com">Data to viz</a>
      </li>
      <li class="nav-item">
        <a class="nav-link js-scroll-trigger" href="https://www.yan-holtz.com">Who am I</a>
      </li>
      <li class="nav-item">
        <a class="nav-link js-scroll-trigger" href="about.html">About</a>
      </li>
    </ul>
  </div>
</div>
</nav>





<!-- Header = Title in big + social media Icon + quick description -->
<header class="masthead">
  <div class="textlanding">
      <center><h1>Advanced R barplot customization</h1></center>
      <hr class="short_hr">
      <br>
      <ul class="list-inline social-buttons">
        <li class="list-inline-item">
          <a href="https://twitter.com/R_Graph_Gallery">
            <i class="fa fa-twitter"></i>
          </a>
        </li>
        <li class="list-inline-item social-buttons">
          <a href="https://github.com/holtzy">
            <i class="fa fa-github" style="color: white"></i>
          </a>
        </li>
        <li class="list-inline-item social-buttons">
          <a href="https://www.linkedin.com/in/yan-holtz-2477534a/">
            <i class="fa fa-linkedin"></i>
          </a>
        </li>
        <li class="list-inline-item social-buttons">
          <a href="https://www.yan-holtz.com">
            <i class="fa fa-home"></i>
          </a>
        </li>
      </ul>
      <center><p style="max-width: 600px; margin-top: 40px">Take your basic R <a href="barplot.html">barplot</a> to the next step: modify axis, label orientation, margins, and more.</p></center>
      <div style="text-align:center">
         <a class="btn btn-secondary btn-xl text-uppercase js-scroll-trigger" href='barplot.html'>Barchart section</a>
         <a class="btn btn-secondary btn-xl text-uppercase js-scroll-trigger" href='https://www.data-to-viz.com/graph/barplot.html'>Barplot tips</a>
      </div>
  </div>
</header>









<!-- STYLE for chart pages but not the rest of tthe website -->
<style>
  img {
    margin-top: 20px;
  }
</style>



<div class="container">
<h1 id="start-basic-the-barplot-function">Start basic: the <code>barplot()</code> function</h1>
<hr />
<div class="row">
<div class="col-md-6 col-sm-12 align-self-center">
<p><a href="208-basic-barplot.html">Graph #208</a> describes the most simple barchart you can do with <code>R</code> and the <code>barplot()</code> function. <a href="209-the-options-of-barplot">Graph #209</a> shows the basic options of <code>barplot()</code>.</p>
<p>Let’s recall how to build a basic <a href="barplot.html">barplot</a>:</p>
</div>
<div class="col-md-6 col-sm-12">
<p><img src="210-custom-barplot-layout_files/figure-html/thecode-1.png" width="100%" /></p>
</div>
</div>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># create dummy data</span>
data &lt;-<span class="st"> </span><span class="kw">data.frame</span>(
  <span class="dt">name=</span>letters[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>],
  <span class="dt">value=</span><span class="kw">sample</span>(<span class="kw">seq</span>(<span class="dv">4</span>,<span class="dv">15</span>),<span class="dv">5</span>)
)

<span class="co"># The most basic barplot you can do:</span>
<span class="kw">barplot</span>(<span class="dt">height=</span>data<span class="op">$</span>value, <span class="dt">names=</span>data<span class="op">$</span>name, <span class="dt">col=</span><span class="st">&quot;#69b3a2&quot;</span>)</code></pre></div>
<h1 id="las">Axis labels orientation with <code>las</code></h1>
<hr />
<div class="row">
<div class="col-md-6 col-sm-12 align-self-center">
<p>The <code>las</code> argument allows to change the orientation of the axis labels:</p>
<ul>
<li><code>0</code>: always parallel to the axis</li>
<li><code>1</code>: always horizontal</li>
<li><code>2</code>: always perpendicular to the axis</li>
<li><code>3</code>: always vertical.</li>
</ul>
<p>This is specially helpful for horizontal bar chart.</p>
</div>
<div class="col-md-6 col-sm-12">
<p><img src="210-custom-barplot-layout_files/figure-html/thecode2-1.png" width="100%" /></p>
</div>
</div>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># create dummy data</span>
data &lt;-<span class="st"> </span><span class="kw">data.frame</span>(
  <span class="dt">name=</span>letters[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>],
  <span class="dt">value=</span><span class="kw">sample</span>(<span class="kw">seq</span>(<span class="dv">4</span>,<span class="dv">15</span>),<span class="dv">5</span>)
)

<span class="co"># The most basic barplot you can do:</span>
<span class="kw">barplot</span>(<span class="dt">height=</span>data<span class="op">$</span>value, <span class="dt">names=</span>data<span class="op">$</span>name, <span class="dt">col=</span><span class="st">&quot;#69b3a2&quot;</span>, <span class="dt">horiz=</span>T , <span class="dt">las=</span><span class="dv">1</span>)</code></pre></div>
<h1 id="labels">Change group labels with <code>names.arg</code></h1>
<hr />
<div class="row">
<div class="col-md-6 col-sm-12 align-self-center">
<p>Change the group names using the <code>names.arg</code> argument. The vector you provide must be the same length as the number of categories.</p>
</div>
<div class="col-md-6 col-sm-12">
<p><img src="210-custom-barplot-layout_files/figure-html/thecode4-1.png" width="100%" /></p>
</div>
</div>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># create dummy data</span>
data &lt;-<span class="st"> </span><span class="kw">data.frame</span>(
  <span class="dt">name=</span>letters[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>],
  <span class="dt">value=</span><span class="kw">sample</span>(<span class="kw">seq</span>(<span class="dv">4</span>,<span class="dv">15</span>),<span class="dv">5</span>)
)

<span class="co"># Uniform color</span>
<span class="kw">barplot</span>(<span class="dt">height=</span>data<span class="op">$</span>value, <span class="dt">names.arg=</span><span class="kw">c</span>(<span class="st">&quot;group1&quot;</span>,<span class="st">&quot;group2&quot;</span>,<span class="st">&quot;group3&quot;</span>,<span class="st">&quot;group4&quot;</span>,<span class="st">&quot;group5&quot;</span>), <span class="dt">col=</span><span class="st">&quot;#69b3a2&quot;</span>)</code></pre></div>
<h1 id="width">Axis labels &amp; axis title style</h1>
<hr />
<p><img src="210-custom-barplot-layout_files/figure-html/thecode6-1.png" width="50%" /><img src="210-custom-barplot-layout_files/figure-html/thecode6-2.png" width="50%" /></p>
<div class="row">
<div class="col-md-6 col-sm-12 align-self-center">
<p>Customize the labels:</p>
<ul>
<li><code>font.axis</code>: font: 1: normal, 2: bold, 3: italic, 4: bold italic</li>
<li><code>col.axis</code>: color</li>
<li><code>cex.axis</code>: size</li>
</ul>
<p>Customize axis title:</p>
<ul>
<li><code>font.lab</code></li>
<li><code>col.lab</code></li>
<li><code>cex.lab</code></li>
</ul>
</div>
<div class="col-md-6 col-sm-12">

</div>
</div>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># create dummy data</span>
data &lt;-<span class="st"> </span><span class="kw">data.frame</span>(
  <span class="dt">name=</span>letters[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>],
  <span class="dt">value=</span><span class="kw">sample</span>(<span class="kw">seq</span>(<span class="dv">4</span>,<span class="dv">15</span>),<span class="dv">5</span>)
)

<span class="co"># Customize labels (left)</span>
<span class="kw">barplot</span>(<span class="dt">height=</span>data<span class="op">$</span>value, <span class="dt">names=</span>data<span class="op">$</span>name, 
        <span class="dt">names.arg=</span><span class="kw">c</span>(<span class="st">&quot;group1&quot;</span>,<span class="st">&quot;group2&quot;</span>,<span class="st">&quot;group3&quot;</span>,<span class="st">&quot;group4&quot;</span>,<span class="st">&quot;group5&quot;</span>), 
        <span class="dt">font.axis=</span><span class="dv">2</span>, 
        <span class="dt">col.axis=</span><span class="st">&quot;orange&quot;</span>, 
        <span class="dt">cex.axis=</span><span class="fl">1.5</span> 
        )

<span class="co"># Customize title (right)</span>
<span class="kw">barplot</span>(<span class="dt">height=</span>data<span class="op">$</span>value, <span class="dt">names=</span>data<span class="op">$</span>name, 
        <span class="dt">xlab=</span><span class="st">&quot;category&quot;</span>, 
        <span class="dt">font.lab=</span><span class="dv">2</span>, 
        <span class="dt">col.lab=</span><span class="st">&quot;orange&quot;</span>, 
        <span class="dt">cex.lab=</span><span class="dv">2</span>  
        )</code></pre></div>
<h1 id="margin">Increase margin size</h1>
<hr />
<div class="row">
<div class="col-md-6 col-sm-12 align-self-center">
<p>If your group names are long, you need to:</p>
<ul>
<li>rotate them to avoid overlapping. This is done with <code>las</code></li>
<li>increase bottom margin size using the <code>mar</code> parameter of the <code>par()</code> function. Four values are provided: bottom, left, top, right respectively.</li>
</ul>
<p><u>Note</u>: prefer a <a href="209-the-options-of-barplot.html#horiz">horizontal barplot</a> in this case.</p>
</div>
<div class="col-md-6 col-sm-12">
<p><img src="210-custom-barplot-layout_files/figure-html/thecode5-1.png" width="100%" /></p>
</div>
</div>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># create dummy data</span>
data &lt;-<span class="st"> </span><span class="kw">data.frame</span>(
  <span class="dt">name=</span>letters[<span class="dv">1</span><span class="op">:</span><span class="dv">5</span>],
  <span class="dt">value=</span><span class="kw">sample</span>(<span class="kw">seq</span>(<span class="dv">4</span>,<span class="dv">15</span>),<span class="dv">5</span>)
)

<span class="co"># Increase margin size</span>
<span class="kw">par</span>(<span class="dt">mar=</span><span class="kw">c</span>(<span class="dv">11</span>,<span class="dv">4</span>,<span class="dv">4</span>,<span class="dv">4</span>))

<span class="co"># Uniform color</span>
<span class="kw">barplot</span>(<span class="dt">height=</span>data<span class="op">$</span>value,
        <span class="dt">col=</span><span class="st">&quot;#69b3a2&quot;</span>,
        <span class="dt">names.arg=</span><span class="kw">c</span>(<span class="st">&quot;very long group name 1&quot;</span>,<span class="st">&quot;very long group name 2&quot;</span>,<span class="st">&quot;very long group name 3&quot;</span>,<span class="st">&quot;very long group name 4&quot;</span>,<span class="st">&quot;very long group name 5&quot;</span>), 
        <span class="dt">las=</span><span class="dv">2</span> 
)</code></pre></div>
<!-- Close container -->
</div>
<!-- ============================ RELATED SECTION ============================ -->
<section class="bg-light" id="portfolio_landing" style="padding-top: 30px; padding-bottom: 30px; margin-top: 100px;">

<div class="container">

  <p class="mySeryTitle">Related chart types</p>
  <hr>
  <div class="row">
    <div class="col-md-2 col-sm-4 portfolio-item ">
      <a class="portfolio-link"  href="barplot.html">
        <div class="portfolio-hover">
          <div class="portfolio-hover-content">
            <i class="fa fa-plus fa-3x"></i>
          </div>
        </div>
        <img class="img-fluid" src="img/section/Bar150.png" alt="">
      </a>
      <div class="captionPortfolio">Barplot</div>
    </div>
    <div class="col-md-2 col-sm-4 portfolio-item ">
      <a class="portfolio-link"  href="spider.html">
        <div class="portfolio-hover">
          <div class="portfolio-hover-content">
            <i class="fa fa-plus fa-3x"></i>
          </div>
        </div>
        <img class="img-fluid" src="img/section/Spider150.png" alt="">
      </a>
      <div class="captionPortfolio">Spider / Radar</div>
    </div>
    <div class="col-md-2 col-sm-4 portfolio-item ">
      <a class="portfolio-link"  href="wordcloud.html">
        <div class="portfolio-hover">
          <div class="portfolio-hover-content">
            <i class="fa fa-plus fa-3x"></i>
          </div>
        </div>
        <img class="img-fluid" src="img/section/Wordcloud150.png" alt="">
      </a>
      <div class="captionPortfolio">Wordcloud</div>
    </div>
    <div class="col-md-2 col-sm-4 portfolio-item ">
      <a class="portfolio-link"  href="parallel.html">
        <div class="portfolio-hover">
          <div class="portfolio-hover-content">
            <i class="fa fa-plus fa-3x"></i>
          </div>
        </div>
        <img class="img-fluid" src="img/section/Parallel1150.png" alt="">
      </a>
      <div class="captionPortfolio">Parallel</div>
    </div>
    <div class="col-md-2 col-sm-4 portfolio-item ">
      <a class="portfolio-link"  href="lollipop.html">
        <div class="portfolio-hover">
          <div class="portfolio-hover-content">
            <i class="fa fa-plus fa-3x"></i>
          </div>
        </div>
        <img class="img-fluid" src="img/section/Lollipop150.png" alt="">
      </a>
      <div class="captionPortfolio">Lollipop</div>
    </div>
    <div class="col-md-2 col-sm-4 portfolio-item ">
      <a class="portfolio-link" href="circular_barplot.html">
        <div class="portfolio-hover">
          <div class="portfolio-hover-content">
            <i class="fa fa-plus fa-3x"></i>
          </div>
        </div>
        <img class="img-fluid" src="img/section/CircularBarplot150.png" alt="">
      </a>
      <div class="captionPortfolio">Circular Barplot</div>
    </div>
  </div>

</div>
</section>






<!-- ============================ CONTACT SECTION ============================ -->
<section id="contact" class="bg" style="background-color: white; padding-top: 60px">
  <div class="container">
    <div class="row">
      <div class="col-lg-2 text-center"></div>
      <div class="col-lg-8 text-center">
        <br><br><br>
        <h2 class="section-heading text-uppercase" style="color: black">Contact</h2>
        <p>This document is a work by <a href="https://www.yan-holtz.com">Yan Holtz</a>. Any feedback is highly encouraged. You can fill an issue on <a href="https://github.com/holtzy/D3-graph-gallery/issues">Github</a>, drop me a message on <a href="https://twitter.com/R_Graph_Gallery">Twitter</a>, or send an email pasting <a href="">yan.holtz.data</a> with <a href="">gmail.com</a>.</p>
        <div style="text-align:center">
           <a class="btn btn-primary btn-xl text-uppercase js-scroll-trigger" href="https://github.com/holtzy">Github</a>
           <a class="btn btn-primary btn-xl text-uppercase js-scroll-trigger" href="https://twitter.com/R_Graph_Gallery">Twitter</a>
         </div>
      </div>
    </div>
  </div>
</section>



<!-- ============================ FOOTER SECTION ============================ -->
<footer class="bg-light" id="myFooter">
  <div class="container" >
    <div class="row">
      <div class="col-md-4">
        <span class="copyright">Copyright &copy; the R graph gallery 2018</span>
      </div>
      <div class="col-md-4">
        <ul class="list-inline social-buttons">
          <li class="list-inline-item">
            <a href="https://twitter.com/R_Graph_Gallery">
              <i class="fa fa-twitter"></i>
            </a>
          </li>
          <li class="list-inline-item">
            <a href="https://github.com/holtzy">
              <i class="fa fa-github"></i>
            </a>
          </li>
          <li class="list-inline-item">
            <a href="https://www.linkedin.com/in/yan-holtz-2477534a/">
              <i class="fa fa-linkedin"></i>
            </a>
          </li>
        </ul>
      </div>
      <div class="col-md-4">
        <ul class="list-inline quicklinks">
          <li class="list-inline-item">
            <a href="#">Privacy Policy</a>
          </li>
          <li class="list-inline-item">
            <a href="#">Terms of Use</a>
          </li>
        </ul>
      </div>
    </div>
  </div>
</footer>




<script>

// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
  $('tr.header').parent('thead').parent('table').addClass('table table-condensed');
}
$(document).ready(function () {
  bootstrapStylePandocTables();
});


</script>



<!-- ============================ JAVASCRIPT SECTION ============================ -->

<!-- Bootstrap core JavaScript -->
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

<!-- Custom scripts for this template -->
<script src="js/agency.min.js"></script>

</body>
</html>