1 Star 0 Fork 3

weijiew/R-graph-gallery

forked from 程序员维C社区/graph 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
128-ring-or-donut-plot.html 27.97 KB
一键复制 编辑 原始数据 按行查看 历史
holtzy 提交于 2019-08-22 19:37 +08:00 . --- :) ---
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Google Analytics + OutboundLink + Google Adsense -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-79254642-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-79254642-1');
</script>
<script>
var getOutboundLink = function(url) {
gtag('event', 'click', {
'event_category': 'outbound',
'event_label': url,
'transport_type': 'beacon',
'event_callback': function(){document.location = url;}
});
}
</script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-3523953066677938",
enable_page_level_ads: true
});
</script>
<!-- Google Analytics + OutboundLink + Google Adsense -->
<meta charset="utf-8">
<title>Donut chart with ggplot2 &#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="The ggplot2 package allows to build donut chart with R. This post describes how, providing explanation and reproducible code.">
<meta name="keywords" content="R,ggplot2,tidyverse,Example,Data,Dataviz,Datavisualization,Plot,Chart,Graph,Learning,Caveat,Pitfall,Mistake">
<meta name="author" content="Yan Holtz">
<link rel="icon" href="img/logo/R_single_small.png">
<!-- Control appearance when shared by social media -->
<meta property="og:title" content="Donut chart with ggplot2" />
<meta property="og:image" content="img/overview_RGG.png" />
<meta property="og:description" content="The ggplot2 package allows to build donut chart with R. This post describes how, providing explanation and reproducible code." />
<meta property='og:url' content="https://www.r-graph-gallery.com/128-ring-or-donut-plot.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 THAT IS STORED IN A MENU.HTML FILE-->
<nav class="navbar navbar-expand-lg fixed-top" id="mainNav"></nav>
<script>
$(function(){
$("#mainNav").load("html_chunk/menu.html");
});
</script>
<!-- THIS ALLOWS TO INSERT THE MODAL OF THE MENU THAT IS STORED IN A MENU_MODAL.HTML FILE-->
<div id="modal_menu_insertion"> </div>
<script>
$(function(){
$("#modal_menu_insertion").load("html_chunk/menu_modal.html");
});
</script>
<!-- Header = Title in big + social media Icon + quick description -->
<header class="masthead" style="padding-bottom: 30px;">
<div class="textlanding">
<center><h1>Donut chart with ggplot2</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">The ggplot2 package allows to build donut chart with R. This post describes how, providing explanation and reproducible code.</p></center>
<div style="text-align:center">
<a class="btn btn-secondary btn-xl text-uppercase js-scroll-trigger" href='doughnut-plot.html'>Donut section</a>
<a class="btn btn-secondary btn-xl text-uppercase js-scroll-trigger" href='https://www.data-to-viz.com/caveat/pie.html'>Warning</a>
</div>
</div>
</header>
<!-- THIS ALLOWS TO INSERT THE ADVERTISEMENT BANNER THAT IS STORED IN A BANNER.HTML FILE-->
<div id="position_for_images"></div>
<script>
$(function(){
$("#position_for_images").load("html_chunk/images.html");
});
</script>
<!-- STYLE for chart pages but not the rest of tthe website -->
<style>
img {
margin-top: 20px;
}
</style>
<div class="container">
<h1 id="most-basic-doughnut-chart-with-ggplot2">Most basic doughnut chart with <code>ggplot2</code></h1>
<hr />
<div class="row">
<div class="col-md-6 col-sm-12 align-self-center">
<p>The <code>ggplot2</code> package allows to build <a href="doughnut-plot.html">donut charts</a>. Note however that this is possible thanks a hack, since no specific function has been created for this kind of chart. (This is voluntary, to avoid donut charts that are dataviz <a href="https://www.data-to-viz.com/caveat/pie.html">bad practice</a>)</p>
<p>Here is the process: - input data provides a numeric variable for a set of entities - absolute numeric values must be translated to proportion - group positions must be stacked: we’re gonna display them one after the other - <code>geom_rect()</code> is used to plot each group as a rectangle - <code>coord_polar()</code> is used to switch from stacked rectangles to a ring - <code>xlim()</code> allows to switch from pie to donut: it adds the empty circle in the middle</p>
</div>
<div class="col-md-6 col-sm-12">
<p><img src="128-ring-or-donut-plot_files/figure-html/thecode-1.png" width="100%" /></p>
</div>
</div>
<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb1-1" data-line-number="1"><span class="co"># load library</span></a>
<a class="sourceLine" id="cb1-2" data-line-number="2"><span class="kw">library</span>(ggplot2)</a>
<a class="sourceLine" id="cb1-3" data-line-number="3"> </a>
<a class="sourceLine" id="cb1-4" data-line-number="4"><span class="co"># Create test data.</span></a>
<a class="sourceLine" id="cb1-5" data-line-number="5">data &lt;-<span class="st"> </span><span class="kw">data.frame</span>(</a>
<a class="sourceLine" id="cb1-6" data-line-number="6"> <span class="dt">category=</span><span class="kw">c</span>(<span class="st">&quot;A&quot;</span>, <span class="st">&quot;B&quot;</span>, <span class="st">&quot;C&quot;</span>),</a>
<a class="sourceLine" id="cb1-7" data-line-number="7"> <span class="dt">count=</span><span class="kw">c</span>(<span class="dv">10</span>, <span class="dv">60</span>, <span class="dv">30</span>)</a>
<a class="sourceLine" id="cb1-8" data-line-number="8">)</a>
<a class="sourceLine" id="cb1-9" data-line-number="9"> </a>
<a class="sourceLine" id="cb1-10" data-line-number="10"><span class="co"># Compute percentages</span></a>
<a class="sourceLine" id="cb1-11" data-line-number="11">data<span class="op">$</span>fraction =<span class="st"> </span>data<span class="op">$</span>count <span class="op">/</span><span class="st"> </span><span class="kw">sum</span>(data<span class="op">$</span>count)</a>
<a class="sourceLine" id="cb1-12" data-line-number="12"></a>
<a class="sourceLine" id="cb1-13" data-line-number="13"><span class="co"># Compute the cumulative percentages (top of each rectangle)</span></a>
<a class="sourceLine" id="cb1-14" data-line-number="14">data<span class="op">$</span>ymax =<span class="st"> </span><span class="kw">cumsum</span>(data<span class="op">$</span>fraction)</a>
<a class="sourceLine" id="cb1-15" data-line-number="15"></a>
<a class="sourceLine" id="cb1-16" data-line-number="16"><span class="co"># Compute the bottom of each rectangle</span></a>
<a class="sourceLine" id="cb1-17" data-line-number="17">data<span class="op">$</span>ymin =<span class="st"> </span><span class="kw">c</span>(<span class="dv">0</span>, <span class="kw">head</span>(data<span class="op">$</span>ymax, <span class="dt">n=</span><span class="op">-</span><span class="dv">1</span>))</a>
<a class="sourceLine" id="cb1-18" data-line-number="18"> </a>
<a class="sourceLine" id="cb1-19" data-line-number="19"><span class="co"># Make the plot</span></a>
<a class="sourceLine" id="cb1-20" data-line-number="20"><span class="kw">ggplot</span>(data, <span class="kw">aes</span>(<span class="dt">ymax=</span>ymax, <span class="dt">ymin=</span>ymin, <span class="dt">xmax=</span><span class="dv">4</span>, <span class="dt">xmin=</span><span class="dv">3</span>, <span class="dt">fill=</span>category)) <span class="op">+</span></a>
<a class="sourceLine" id="cb1-21" data-line-number="21"><span class="st"> </span><span class="kw">geom_rect</span>() <span class="op">+</span></a>
<a class="sourceLine" id="cb1-22" data-line-number="22"><span class="st"> </span><span class="kw">coord_polar</span>(<span class="dt">theta=</span><span class="st">&quot;y&quot;</span>) <span class="op">+</span><span class="st"> </span><span class="co"># Try to remove that to understand how the chart is built initially</span></a>
<a class="sourceLine" id="cb1-23" data-line-number="23"><span class="st"> </span><span class="kw">xlim</span>(<span class="kw">c</span>(<span class="dv">2</span>, <span class="dv">4</span>)) <span class="co"># Try to remove that to see how to make a pie chart</span></a></code></pre></div>
<h1 id="customization">Customization</h1>
<hr />
<div class="row">
<div class="col-md-6 col-sm-12 align-self-center">
<p>Here are a couple of things you can do improve your donut chart style:</p>
<ul>
<li>use <code>theme_void()</code> to get rid of the unnecessary background, axis, labels and so on.</li>
<li>use a better color palette</li>
<li>don’t use a legend, add labels to groups directly</li>
</ul>
</div>
<div class="col-md-6 col-sm-12">
<p><img src="128-ring-or-donut-plot_files/figure-html/thecode3-1.png" width="100%" /></p>
</div>
</div>
<div class="sourceCode" id="cb2"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb2-1" data-line-number="1"><span class="co"># load library</span></a>
<a class="sourceLine" id="cb2-2" data-line-number="2"><span class="kw">library</span>(ggplot2)</a>
<a class="sourceLine" id="cb2-3" data-line-number="3"></a>
<a class="sourceLine" id="cb2-4" data-line-number="4"><span class="co"># Create test data.</span></a>
<a class="sourceLine" id="cb2-5" data-line-number="5">data &lt;-<span class="st"> </span><span class="kw">data.frame</span>(</a>
<a class="sourceLine" id="cb2-6" data-line-number="6"> <span class="dt">category=</span><span class="kw">c</span>(<span class="st">&quot;A&quot;</span>, <span class="st">&quot;B&quot;</span>, <span class="st">&quot;C&quot;</span>),</a>
<a class="sourceLine" id="cb2-7" data-line-number="7"> <span class="dt">count=</span><span class="kw">c</span>(<span class="dv">10</span>, <span class="dv">60</span>, <span class="dv">30</span>)</a>
<a class="sourceLine" id="cb2-8" data-line-number="8">)</a>
<a class="sourceLine" id="cb2-9" data-line-number="9"> </a>
<a class="sourceLine" id="cb2-10" data-line-number="10"><span class="co"># Compute percentages</span></a>
<a class="sourceLine" id="cb2-11" data-line-number="11">data<span class="op">$</span>fraction &lt;-<span class="st"> </span>data<span class="op">$</span>count <span class="op">/</span><span class="st"> </span><span class="kw">sum</span>(data<span class="op">$</span>count)</a>
<a class="sourceLine" id="cb2-12" data-line-number="12"></a>
<a class="sourceLine" id="cb2-13" data-line-number="13"><span class="co"># Compute the cumulative percentages (top of each rectangle)</span></a>
<a class="sourceLine" id="cb2-14" data-line-number="14">data<span class="op">$</span>ymax &lt;-<span class="st"> </span><span class="kw">cumsum</span>(data<span class="op">$</span>fraction)</a>
<a class="sourceLine" id="cb2-15" data-line-number="15"></a>
<a class="sourceLine" id="cb2-16" data-line-number="16"><span class="co"># Compute the bottom of each rectangle</span></a>
<a class="sourceLine" id="cb2-17" data-line-number="17">data<span class="op">$</span>ymin &lt;-<span class="st"> </span><span class="kw">c</span>(<span class="dv">0</span>, <span class="kw">head</span>(data<span class="op">$</span>ymax, <span class="dt">n=</span><span class="op">-</span><span class="dv">1</span>))</a>
<a class="sourceLine" id="cb2-18" data-line-number="18"></a>
<a class="sourceLine" id="cb2-19" data-line-number="19"><span class="co"># Compute label position</span></a>
<a class="sourceLine" id="cb2-20" data-line-number="20">data<span class="op">$</span>labelPosition &lt;-<span class="st"> </span>(data<span class="op">$</span>ymax <span class="op">+</span><span class="st"> </span>data<span class="op">$</span>ymin) <span class="op">/</span><span class="st"> </span><span class="dv">2</span></a>
<a class="sourceLine" id="cb2-21" data-line-number="21"></a>
<a class="sourceLine" id="cb2-22" data-line-number="22"><span class="co"># Compute a good label</span></a>
<a class="sourceLine" id="cb2-23" data-line-number="23">data<span class="op">$</span>label &lt;-<span class="st"> </span><span class="kw">paste0</span>(data<span class="op">$</span>category, <span class="st">&quot;</span><span class="ch">\n</span><span class="st"> value: &quot;</span>, data<span class="op">$</span>count)</a>
<a class="sourceLine" id="cb2-24" data-line-number="24"></a>
<a class="sourceLine" id="cb2-25" data-line-number="25"><span class="co"># Make the plot</span></a>
<a class="sourceLine" id="cb2-26" data-line-number="26"><span class="kw">ggplot</span>(data, <span class="kw">aes</span>(<span class="dt">ymax=</span>ymax, <span class="dt">ymin=</span>ymin, <span class="dt">xmax=</span><span class="dv">4</span>, <span class="dt">xmin=</span><span class="dv">3</span>, <span class="dt">fill=</span>category)) <span class="op">+</span></a>
<a class="sourceLine" id="cb2-27" data-line-number="27"><span class="st"> </span><span class="kw">geom_rect</span>() <span class="op">+</span></a>
<a class="sourceLine" id="cb2-28" data-line-number="28"><span class="st"> </span><span class="kw">geom_label</span>( <span class="dt">x=</span><span class="fl">3.5</span>, <span class="kw">aes</span>(<span class="dt">y=</span>labelPosition, <span class="dt">label=</span>label), <span class="dt">size=</span><span class="dv">6</span>) <span class="op">+</span></a>
<a class="sourceLine" id="cb2-29" data-line-number="29"><span class="st"> </span><span class="kw">scale_fill_brewer</span>(<span class="dt">palette=</span><span class="dv">4</span>) <span class="op">+</span></a>
<a class="sourceLine" id="cb2-30" data-line-number="30"><span class="st"> </span><span class="kw">coord_polar</span>(<span class="dt">theta=</span><span class="st">&quot;y&quot;</span>) <span class="op">+</span></a>
<a class="sourceLine" id="cb2-31" data-line-number="31"><span class="st"> </span><span class="kw">xlim</span>(<span class="kw">c</span>(<span class="dv">2</span>, <span class="dv">4</span>)) <span class="op">+</span></a>
<a class="sourceLine" id="cb2-32" data-line-number="32"><span class="st"> </span><span class="kw">theme_void</span>() <span class="op">+</span></a>
<a class="sourceLine" id="cb2-33" data-line-number="33"><span class="st"> </span><span class="kw">theme</span>(<span class="dt">legend.position =</span> <span class="st">&quot;none&quot;</span>)</a></code></pre></div>
<h1 id="donut-thickness">Donut thickness</h1>
<hr />
<div class="row">
<div class="col-md-6 col-sm-12 align-self-center">
<p>It is important to understand that donut chart are just stacked rectangles that are made circular thanks to <code>coord_polar</code>.</p>
<p>Thus, the empty circle that makes it a donut chart is just the space between the initial Y axis and the left part of the rectangle.</p>
<ul>
<li>If <code>xlim</code> left boundary is big, no empty circle. You get a pie chart</li>
<li>If <code>xlim</code> is low, the ring becomes thinner.</li>
</ul>
<p>If you don’t get it, just plot the chart without <code>coord_polar()</code></p>
</div>
<div class="col-md-6 col-sm-12">
<p><img src="128-ring-or-donut-plot_files/figure-html/thecode2-1.png" width="100%" /></p>
</div>
</div>
<div class="sourceCode" id="cb3"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb3-1" data-line-number="1"><span class="co"># load library</span></a>
<a class="sourceLine" id="cb3-2" data-line-number="2"><span class="kw">library</span>(ggplot2)</a>
<a class="sourceLine" id="cb3-3" data-line-number="3"></a>
<a class="sourceLine" id="cb3-4" data-line-number="4"><span class="co"># Create test data.</span></a>
<a class="sourceLine" id="cb3-5" data-line-number="5">data &lt;-<span class="st"> </span><span class="kw">data.frame</span>(</a>
<a class="sourceLine" id="cb3-6" data-line-number="6"> <span class="dt">category=</span><span class="kw">c</span>(<span class="st">&quot;A&quot;</span>, <span class="st">&quot;B&quot;</span>, <span class="st">&quot;C&quot;</span>),</a>
<a class="sourceLine" id="cb3-7" data-line-number="7"> <span class="dt">count=</span><span class="kw">c</span>(<span class="dv">10</span>, <span class="dv">60</span>, <span class="dv">30</span>)</a>
<a class="sourceLine" id="cb3-8" data-line-number="8">)</a>
<a class="sourceLine" id="cb3-9" data-line-number="9"> </a>
<a class="sourceLine" id="cb3-10" data-line-number="10"><span class="co"># Compute percentages</span></a>
<a class="sourceLine" id="cb3-11" data-line-number="11">data<span class="op">$</span>fraction &lt;-<span class="st"> </span>data<span class="op">$</span>count <span class="op">/</span><span class="st"> </span><span class="kw">sum</span>(data<span class="op">$</span>count)</a>
<a class="sourceLine" id="cb3-12" data-line-number="12"></a>
<a class="sourceLine" id="cb3-13" data-line-number="13"><span class="co"># Compute the cumulative percentages (top of each rectangle)</span></a>
<a class="sourceLine" id="cb3-14" data-line-number="14">data<span class="op">$</span>ymax &lt;-<span class="st"> </span><span class="kw">cumsum</span>(data<span class="op">$</span>fraction)</a>
<a class="sourceLine" id="cb3-15" data-line-number="15"></a>
<a class="sourceLine" id="cb3-16" data-line-number="16"><span class="co"># Compute the bottom of each rectangle</span></a>
<a class="sourceLine" id="cb3-17" data-line-number="17">data<span class="op">$</span>ymin &lt;-<span class="st"> </span><span class="kw">c</span>(<span class="dv">0</span>, <span class="kw">head</span>(data<span class="op">$</span>ymax, <span class="dt">n=</span><span class="op">-</span><span class="dv">1</span>))</a>
<a class="sourceLine" id="cb3-18" data-line-number="18"></a>
<a class="sourceLine" id="cb3-19" data-line-number="19"><span class="co"># Compute label position</span></a>
<a class="sourceLine" id="cb3-20" data-line-number="20">data<span class="op">$</span>labelPosition &lt;-<span class="st"> </span>(data<span class="op">$</span>ymax <span class="op">+</span><span class="st"> </span>data<span class="op">$</span>ymin) <span class="op">/</span><span class="st"> </span><span class="dv">2</span></a>
<a class="sourceLine" id="cb3-21" data-line-number="21"></a>
<a class="sourceLine" id="cb3-22" data-line-number="22"><span class="co"># Compute a good label</span></a>
<a class="sourceLine" id="cb3-23" data-line-number="23">data<span class="op">$</span>label &lt;-<span class="st"> </span><span class="kw">paste0</span>(data<span class="op">$</span>category, <span class="st">&quot;</span><span class="ch">\n</span><span class="st"> value: &quot;</span>, data<span class="op">$</span>count)</a>
<a class="sourceLine" id="cb3-24" data-line-number="24"></a>
<a class="sourceLine" id="cb3-25" data-line-number="25"><span class="co"># Make the plot</span></a>
<a class="sourceLine" id="cb3-26" data-line-number="26"><span class="kw">ggplot</span>(data, <span class="kw">aes</span>(<span class="dt">ymax=</span>ymax, <span class="dt">ymin=</span>ymin, <span class="dt">xmax=</span><span class="dv">4</span>, <span class="dt">xmin=</span><span class="dv">3</span>, <span class="dt">fill=</span>category)) <span class="op">+</span></a>
<a class="sourceLine" id="cb3-27" data-line-number="27"><span class="st"> </span><span class="kw">geom_rect</span>() <span class="op">+</span></a>
<a class="sourceLine" id="cb3-28" data-line-number="28"><span class="st"> </span><span class="kw">geom_text</span>( <span class="dt">x=</span><span class="dv">2</span>, <span class="kw">aes</span>(<span class="dt">y=</span>labelPosition, <span class="dt">label=</span>label, <span class="dt">color=</span>category), <span class="dt">size=</span><span class="dv">6</span>) <span class="op">+</span><span class="st"> </span><span class="co"># x here controls label position (inner / outer)</span></a>
<a class="sourceLine" id="cb3-29" data-line-number="29"><span class="st"> </span><span class="kw">scale_fill_brewer</span>(<span class="dt">palette=</span><span class="dv">3</span>) <span class="op">+</span></a>
<a class="sourceLine" id="cb3-30" data-line-number="30"><span class="st"> </span><span class="kw">scale_color_brewer</span>(<span class="dt">palette=</span><span class="dv">3</span>) <span class="op">+</span></a>
<a class="sourceLine" id="cb3-31" data-line-number="31"><span class="st"> </span><span class="kw">coord_polar</span>(<span class="dt">theta=</span><span class="st">&quot;y&quot;</span>) <span class="op">+</span></a>
<a class="sourceLine" id="cb3-32" data-line-number="32"><span class="st"> </span><span class="kw">xlim</span>(<span class="kw">c</span>(<span class="op">-</span><span class="dv">1</span>, <span class="dv">4</span>)) <span class="op">+</span></a>
<a class="sourceLine" id="cb3-33" data-line-number="33"><span class="st"> </span><span class="kw">theme_void</span>() <span class="op">+</span></a>
<a class="sourceLine" id="cb3-34" data-line-number="34"><span class="st"> </span><span class="kw">theme</span>(<span class="dt">legend.position =</span> <span class="st">&quot;none&quot;</span>)</a></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="stacked-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/GroupedRed150.png" alt="">
</a>
<div class="captionPortfolio">Grouped and Stacked barplot</div>
</div>
<div class="col-md-2 col-sm-4 portfolio-item">
<a class="portfolio-link" href="treemap.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/Tree150.png" alt="">
</a>
<div class="captionPortfolio">Treemap</div>
</div>
<div class="col-md-2 col-sm-4 portfolio-item">
<a class="portfolio-link" href="doughnut-plot.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/Doughnut150.png" alt="">
</a>
<div class="captionPortfolio">Doughnut</div>
</div>
<div class="col-md-2 col-sm-4 portfolio-item">
<a class="portfolio-link" href="pie-plot.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/Pie150.png" alt="">
</a>
<div class="captionPortfolio">Pie chart</div>
</div>
<div class="col-md-2 col-sm-4 portfolio-item">
<a class="portfolio-link" href="dendrogram.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/Dendrogram150.png" alt="">
</a>
<div class="captionPortfolio">Dendrogram</div>
</div>
<div class="col-md-2 col-sm-4 portfolio-item">
<a class="portfolio-link" href="circle-packing.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/CircularPacking150.png" alt="">
</a>
<div class="captionPortfolio">Circular packing</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>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/weijiew/R-graph-gallery.git
git@gitee.com:weijiew/R-graph-gallery.git
weijiew
R-graph-gallery
R-graph-gallery
master

搜索帮助