text: <!-- Generated by pkgdown: do not edit by hand -->
  <!DOCTYPE html>
  <html lang="en">
    <head>
    <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>Make the UpSet plot — UpSet • ComplexHeatmap</title>
  
  <!-- jquery -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
  <!-- Bootstrap -->
  
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" />
  <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script>
  
  <!-- Font Awesome icons -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/all.min.css" integrity="sha256-nAmazAk6vS34Xqo0BSrTb+abbtFlgsFK7NKSi6o7Y78=" crossorigin="anonymous" />
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.1/css/v4-shims.min.css" integrity="sha256-6qHlizsOWFskGlwVOKuns+D1nB6ssZrHQrNj1wGplHc=" crossorigin="anonymous" />
  
  <!-- clipboard.js -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script>
  
  <!-- headroom.js -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/headroom.min.js" integrity="sha256-DJFC1kqIhelURkuza0AvYal5RxMtpzLjFhsnVIeuk+U=" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.9.4/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script>
  
  <!-- pkgdown -->
  <link href="../pkgdown.css" rel="stylesheet">
  <script src="../pkgdown.js"></script>
  
  
  
  <meta property="og:title" content="Make the UpSet plot — UpSet" />
  
  <meta property="og:description" content="Make the UpSet plot" />
  <meta name="twitter:card" content="summary" />
  
  
  
  <!-- mathjax -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script>
  
  <!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
  <![endif]-->
  
  
  
    </head>
  
    <body>
      <div class="container template-reference-topic">
        <header>
        <div class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <span class="navbar-brand">
          <a class="navbar-link" href="../index.html">ComplexHeatmap</a>
          <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">2.1.0</span>
        </span>
      </div>
  
      <div id="navbar" class="navbar-collapse collapse">
        <ul class="nav navbar-nav">
          <li>
    <a href="../index.html">
      <span class="fas fa fas fa-home fa-lg"></span>
       
    </a>
  </li>
  <li>
    <a href="../reference/index.html">Reference</a>
  </li>
  <li class="dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
      Articles
       
      <span class="caret"></span>
    </a>
    <ul class="dropdown-menu" role="menu">
      <li>
        <a href="../articles/complex_heatmap.html">UNKNOWN TITLE</a>
      </li>
      <li>
        <a href="../articles/most_probably_asked_questions.html">UNKNOWN TITLE</a>
      </li>
    </ul>
  </li>
        </ul>
        
        <ul class="nav navbar-nav navbar-right">
          <li>
    <a href="https://github.com/jokergoo/ComplexHeatmap">
      <span class="fab fa fab fa-github fa-lg"></span>
       
    </a>
  </li>
        </ul>
        
      </div><!--/.nav-collapse -->
    </div><!--/.container -->
  </div><!--/.navbar -->
  
        
  
        </header>
  
  <div class="row">
    <div class="col-md-9 contents">
      <div class="page-header">
      <h1>Make the UpSet plot</h1>
      
      <div class="hidden name"><code>UpSet.rd</code></div>
      </div>
  
      <div class="ref-description">
      
      <p>Make the UpSet plot</p>
      
      </div>
  
      <pre class="usage"><span class='fu'><a href='UpSet.rd.html'>UpSet</a></span>(<span class='no'>m</span>,
      <span class='kw'>comb_col</span> <span class='kw'>=</span> <span class='st'>"black"</span>,
      <span class='kw'>pt_size</span> <span class='kw'>=</span> <span class='fu'>unit</span>(<span class='fl'>3</span>, <span class='st'>"mm"</span>), <span class='kw'>lwd</span> <span class='kw'>=</span> <span class='fl'>2</span>,
      <span class='kw'>bg_col</span> <span class='kw'>=</span> <span class='st'>"#F0F0F0"</span>, <span class='kw'>bg_pt_col</span> <span class='kw'>=</span> <span class='st'>"#CCCCCC"</span>,
      <span class='kw'>set_order</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/order.html'>order</a></span>(<span class='fu'><a href='set_size.rd.html'>set_size</a></span>(<span class='no'>m</span>), <span class='kw'>decreasing</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>),
      <span class='kw'>comb_order</span> <span class='kw'>=</span> <span class='kw'>if</span>(<span class='fu'><a href='https://rdrr.io/r/base/attr.html'>attr</a></span>(<span class='no'>m</span>, <span class='st'>"set_on_rows"</span>)) {
      <span class='fu'><a href='order.comb_mat.rd.html'>order.comb_mat</a></span>(<span class='no'>m</span>[<span class='no'>set_order</span>, ], <span class='kw'>decreasing</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)
      } <span class='kw'>else</span> {
      <span class='fu'><a href='order.comb_mat.rd.html'>order.comb_mat</a></span>(<span class='no'>m</span>[, <span class='no'>set_order</span>], <span class='kw'>decreasing</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)
      },
      <span class='kw'>top_annotation</span> <span class='kw'>=</span> <span class='fu'><a href='upset_top_annotation.rd.html'>upset_top_annotation</a></span>(<span class='no'>m</span>),
      <span class='kw'>right_annotation</span> <span class='kw'>=</span> <span class='fu'><a href='upset_right_annotation.rd.html'>upset_right_annotation</a></span>(<span class='no'>m</span>),
      <span class='kw'>row_names_side</span> <span class='kw'>=</span> <span class='st'>"left"</span>,
      <span class='no'>...</span>)</pre>
      
      <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2>
      <table class="ref-arguments">
      <colgroup><col class="name" /><col class="desc" /></colgroup>
      <tr>
        <th>m</th>
        <td><p>A combination matrix returned by <code><a href='make_comb_mat.rd.html'>make_comb_mat</a></code>. The matrix can be transposed to switch the position of sets and combination sets.</p></td>
      </tr>
      <tr>
        <th>comb_col</th>
        <td><p>The color for the dots representing combination sets.</p></td>
      </tr>
      <tr>
        <th>pt_size</th>
        <td><p>The point size for the dots representing combination sets.</p></td>
      </tr>
      <tr>
        <th>lwd</th>
        <td><p>The line width for the combination sets.</p></td>
      </tr>
      <tr>
        <th>bg_col</th>
        <td><p>Color for the background rectangles.</p></td>
      </tr>
      <tr>
        <th>bg_pt_col</th>
        <td><p>Color for the dots representing the set is not selected.</p></td>
      </tr>
      <tr>
        <th>set_order</th>
        <td><p>The order of sets.</p></td>
      </tr>
      <tr>
        <th>comb_order</th>
        <td><p>The order of combination sets.</p></td>
      </tr>
      <tr>
        <th>top_annotation</th>
        <td><p>A <code><a href='HeatmapAnnotation.rd.html'>HeatmapAnnotation</a></code> object on top of the combination matrix.</p></td>
      </tr>
      <tr>
        <th>right_annotation</th>
        <td><p>A <code><a href='HeatmapAnnotation.rd.html'>HeatmapAnnotation</a></code> object on the right of the combination matrix.</p></td>
      </tr>
      <tr>
        <th>row_names_side</th>
        <td><p>The side of row names.</p></td>
      </tr>
      <tr>
        <th>...</th>
        <td><p>Other arguments passed to <code><a href='Heatmap.rd.html'>Heatmap</a></code>.</p></td>
      </tr>
      </table>
      
      <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>
  
      <p>By default, the sets are on rows and combination sets are on columns. The positions of the
  two types of sets can be switched by transposing the matrix.</p>
  <p>When sets are on rows, the default top annotation is the barplot showing the size of each
  combination sets and the default right annotation is the barplot showing the size of the sets.
  The annotations are simply constructed by <code><a href='HeatmapAnnotation.rd.html'>HeatmapAnnotation</a></code> and <code><a href='anno_barplot.rd.html'>anno_barplot</a></code> with some
  parameters pre-set. Users can check the source code of <code><a href='upset_top_annotation.rd.html'>upset_top_annotation</a></code> and
  <code><a href='upset_right_annotation.rd.html'>upset_right_annotation</a></code> to find out how the annotations are defined.</p>
  <p>To change or to add annotations, users just need to define a new <code><a href='HeatmapAnnotation.rd.html'>HeatmapAnnotation</a></code> object.
  E.g. if we want to change the side of the axis and name on top annotation:</p>
  <p></p><pre>
      Upset(..., top_annotation = 
          HeatmapAnnotation(
             "Intersection size" = anno_barplot(
                 comb_size(m), 
                 border = FALSE, 
                 gp = gpar(fill = "black"), 
                 height = unit(2, "cm"),
                 axis_param = list(side = "right")
             ), 
             annotation_name_side = "right", 
             annotation_name_rot = 0)
      )  </pre>
  
  <p>To add more annotations on top, users just add it in <code><a href='HeatmapAnnotation.rd.html'>HeatmapAnnotation</a></code>:</p>
  <p></p><pre>
      Upset(..., top_annotation = 
          HeatmapAnnotation(
             "Intersection size" = anno_barplot(
                 comb_size(m), 
                 border = FALSE, 
                 gp = gpar(fill = "black"), 
                 height = unit(2, "cm"),
                 axis_param = list(side = "right")
             ), 
             "anno1" = anno_points(...),
             "anno2" = some_vector, 
             annotation_name_side = "right", 
             annotation_name_rot = 0)
      )  </pre>
  
  <p>And so is for the right annotations.</p>
  <p><code><a href='UpSet.rd.html'>UpSet</a></code> returns a <code><a href='Heatmap-class.rd.html'>Heatmap-class</a></code> object, which means, you can add it with other heatmaps and annotations
  by <code>+</code> or <code><a href='pct_v_pct.rd.html'>%v%</a></code>.</p>
      
  
      <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
      <pre class="examples"><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/Random.html'>set.seed</a></span>(<span class='fl'>123</span>)
  <span class='no'>lt</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/list.html'>list</a></span>(<span class='kw'>a</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/sample.html'>sample</a></span>(<span class='no'>letters</span>, <span class='fl'>10</span>),
            <span class='kw'>b</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/sample.html'>sample</a></span>(<span class='no'>letters</span>, <span class='fl'>15</span>),
            <span class='kw'>c</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/sample.html'>sample</a></span>(<span class='no'>letters</span>, <span class='fl'>20</span>))
  <span class='no'>m</span> <span class='kw'>=</span> <span class='fu'><a href='make_comb_mat.rd.html'>make_comb_mat</a></span>(<span class='no'>lt</span>)
  <span class='fu'><a href='UpSet.rd.html'>UpSet</a></span>(<span class='no'>m</span>)</div><div class='img'><img src='UpSet-1.png' alt='' width='700' height='433' /></div><div class='input'><span class='fu'><a href='UpSet.rd.html'>UpSet</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/t.html'>t</a></span>(<span class='no'>m</span>))</div><div class='img'><img src='UpSet-2.png' alt='' width='700' height='433' /></div><div class='input'>
  <span class='no'>m</span> <span class='kw'>=</span> <span class='fu'><a href='make_comb_mat.rd.html'>make_comb_mat</a></span>(<span class='no'>lt</span>, <span class='kw'>mode</span> <span class='kw'>=</span> <span class='st'>"union"</span>)
  <span class='fu'><a href='UpSet.rd.html'>UpSet</a></span>(<span class='no'>m</span>)</div><div class='img'><img src='UpSet-3.png' alt='' width='700' height='433' /></div><div class='input'><span class='fu'><a href='UpSet.rd.html'>UpSet</a></span>(<span class='no'>m</span>, <span class='kw'>comb_col</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/rep.html'>rep</a></span>(<span class='fl'>2</span>, <span class='fl'>3</span>), <span class='fu'><a href='https://rdrr.io/r/base/rep.html'>rep</a></span>(<span class='fl'>3</span>, <span class='fl'>3</span>), <span class='fl'>1</span>))</div><div class='img'><img src='UpSet-4.png' alt='' width='700' height='433' /></div><div class='input'>
  <span class='co'># compare two UpSet plots</span>
  <span class='fu'><a href='https://rdrr.io/r/base/Random.html'>set.seed</a></span>(<span class='fl'>123</span>)
  <span class='no'>lt1</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/list.html'>list</a></span>(<span class='kw'>a</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/sample.html'>sample</a></span>(<span class='no'>letters</span>, <span class='fl'>10</span>),
            <span class='kw'>b</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/sample.html'>sample</a></span>(<span class='no'>letters</span>, <span class='fl'>15</span>),
            <span class='kw'>c</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/sample.html'>sample</a></span>(<span class='no'>letters</span>, <span class='fl'>20</span>))
  <span class='no'>m1</span> <span class='kw'>=</span> <span class='fu'><a href='make_comb_mat.rd.html'>make_comb_mat</a></span>(<span class='no'>lt1</span>)
  <span class='fu'><a href='https://rdrr.io/r/base/Random.html'>set.seed</a></span>(<span class='fl'>456</span>)
  <span class='no'>lt2</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/list.html'>list</a></span>(<span class='kw'>a</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/sample.html'>sample</a></span>(<span class='no'>letters</span>, <span class='fl'>10</span>),
            <span class='kw'>b</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/sample.html'>sample</a></span>(<span class='no'>letters</span>, <span class='fl'>15</span>),
            <span class='kw'>c</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/sample.html'>sample</a></span>(<span class='no'>letters</span>, <span class='fl'>20</span>))
  <span class='no'>m2</span> <span class='kw'>=</span> <span class='fu'><a href='make_comb_mat.rd.html'>make_comb_mat</a></span>(<span class='no'>lt2</span>)
  
  <span class='no'>max1</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/Extremes.html'>max</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='fu'><a href='set_size.rd.html'>set_size</a></span>(<span class='no'>m1</span>), <span class='fu'><a href='set_size.rd.html'>set_size</a></span>(<span class='no'>m2</span>)))
  <span class='no'>max2</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/Extremes.html'>max</a></span>(<span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='fu'><a href='comb_size.rd.html'>comb_size</a></span>(<span class='no'>m1</span>), <span class='fu'><a href='comb_size.rd.html'>comb_size</a></span>(<span class='no'>m2</span>)))
  
  <span class='fu'><a href='UpSet.rd.html'>UpSet</a></span>(<span class='no'>m1</span>, <span class='kw'>top_annotation</span> <span class='kw'>=</span> <span class='fu'><a href='upset_top_annotation.rd.html'>upset_top_annotation</a></span>(<span class='no'>m1</span>, <span class='kw'>ylim</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='fl'>0</span>, <span class='no'>max2</span>)),
      <span class='kw'>right_annotation</span> <span class='kw'>=</span> <span class='fu'><a href='upset_right_annotation.rd.html'>upset_right_annotation</a></span>(<span class='no'>m1</span>, <span class='kw'>ylim</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='fl'>0</span>, <span class='no'>max1</span>)),
      <span class='kw'>column_title</span> <span class='kw'>=</span> <span class='st'>"UpSet1"</span>) +
  <span class='fu'><a href='UpSet.rd.html'>UpSet</a></span>(<span class='no'>m2</span>, <span class='kw'>top_annotation</span> <span class='kw'>=</span> <span class='fu'><a href='upset_top_annotation.rd.html'>upset_top_annotation</a></span>(<span class='no'>m2</span>, <span class='kw'>ylim</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='fl'>0</span>, <span class='no'>max2</span>)),
      <span class='kw'>right_annotation</span> <span class='kw'>=</span> <span class='fu'><a href='upset_right_annotation.rd.html'>upset_right_annotation</a></span>(<span class='no'>m2</span>, <span class='kw'>ylim</span> <span class='kw'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span>(<span class='fl'>0</span>, <span class='no'>max1</span>)),
      <span class='kw'>column_title</span> <span class='kw'>=</span> <span class='st'>"UpSet2"</span>)</div><div class='img'><img src='UpSet-5.png' alt='' width='700' height='433' /></div></pre>
    </div>
    <div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
      <h2>Contents</h2>
      <ul class="nav nav-pills nav-stacked">
        <li><a href="#arguments">Arguments</a></li>
        
        <li><a href="#details">Details</a></li>
        
        <li><a href="#examples">Examples</a></li>
      </ul>
  
    </div>
  </div>
  
  
        <footer>
        <div class="copyright">
    <p>Developed by Zuguang Gu.</p>
  </div>
  
  <div class="pkgdown">
    <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.4.1.</p>
  </div>
  
        </footer>
     </div>
  
    
  
  
    </body>
  </html>
  
  
  