blob: ed35e702f3a2b042fe98b613c3a21b160b6301dc [file] [log] [blame]
<!DOCTYPE html>
<html lang='en' dir='auto'><head>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<meta name='description' content='About this dataset This dataset is a dump of all posts sent on all mailing lists hosted at the Eclipse Forge. Although this is public data (the mailing lists can be browsed on the official mailman page) all data has been anonymised to prevent any misuse. The privacy issues identified, along with the anonymisation process, have been covered in a dedicated document.'>
<meta name='theme-color' content='#ffcd00'>
<meta property='og:title' content='Mbox Analysis • Eclipse DataEggs'>
<meta property='og:description' content='About this dataset This dataset is a dump of all posts sent on all mailing lists hosted at the Eclipse Forge. Although this is public data (the mailing lists can be browsed on the official mailman page) all data has been anonymised to prevent any misuse. The privacy issues identified, along with the anonymisation process, have been covered in a dedicated document.'>
<meta property='og:url' content='https://download.eclipse.org/dataeggs/eclipse_mls/mbox_csv_analysis/'>
<meta property='og:site_name' content='Eclipse DataEggs'>
<meta property='og:type' content='article'><meta property='article:section' content='eclipse_mls'><meta name='twitter:card' content='summary'>
<meta name="generator" content="Hugo 0.80.0" />
<title>Mbox Analysis • Eclipse DataEggs</title>
<link rel='canonical' href='https://download.eclipse.org/dataeggs/eclipse_mls/mbox_csv_analysis/'>
<link rel='icon' href='/dataeggs/favicon.ico'>
<link rel='stylesheet' href='/dataeggs/assets/css/main.ab98e12b.css'><link rel='stylesheet' href='/dataeggs/css/custom.css'><style>
:root{--color-accent:#ffcd00;}
</style>
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-3675452-15', 'auto');
ga('send', 'pageview');
}
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
</head>
<body class='page type-eclipse_mls has-sidebar'>
<div class='site'><div id='sidebar' class='sidebar'>
<a class='screen-reader-text' href='#main-menu'>Skip to Main Menu</a>
<div class='container'><section class='widget widget-about sep-after'>
<header>
<div class='logo'>
<a href='/dataeggs/'>
<img src='/dataeggs/images/dataeggs-menu.png'>
</a>
</div>
<div class='desc'>
Open. Safe. Easy.
</div>
</header>
</section>
<section class='widget widget-search sep-after'>
<header>
<h4 class='title widget-title'>Search</h4>
</header>
<form action='/dataeggs/search' id='search-form' class='search-form'>
<label>
<span class='screen-reader-text'>Search</span>
<input id='search-term' class='search-term' type='search' name='q' placeholder='Search&hellip;'>
</label></form>
</section>
<section class='widget widget-sidebar_menu sep-after'><nav id='sidebar-menu' class='menu sidebar-menu' aria-label='Sidebar Menu'>
<div class='container'>
<ul><li class='item'>
<a href='/dataeggs/'>Home</a></li><li class='item'>
<a href='/dataeggs/privacy/'>Privacy</a></li><li class='item'>
<a href='/dataeggs/aeri_stacktraces/'>AERI</a></li><li class='item'>
<a href='/dataeggs/eclipse_mls/'>MLS</a></li><li class='item has-children'>
<a href=''>projects</a><button class='sub-menu-toggler'>
<span class='screen-reader-text'>expand sub menu</span>
<span class='sign'></span>
</button>
<ul class='sub-menu'><li class='item'>
<a href='/dataeggs/projects/ecd.che/datasets_report/'>ecd.che</a></li><li class='item'>
<a href='/dataeggs/projects/ee4j.glassfish/datasets_report/'>ee4j.glassfish</a></li><li class='item'>
<a href='/dataeggs/projects/modeling.emf-parsley/datasets_report/'>modeling.emf-parsley</a></li><li class='item'>
<a href='/dataeggs/projects/modeling.emfcompare/datasets_report/'>modeling.emfcompare</a></li><li class='item'>
<a href='/dataeggs/projects/modeling.epsilon/datasets_report/'>modeling.epsilon</a></li><li class='item'>
<a href='/dataeggs/projects/modeling.gendoc/datasets_report/'>modeling.gendoc</a></li><li class='item'>
<a href='/dataeggs/projects/modeling.m2t.acceleo/datasets_report/'>modeling.m2t.acceleo</a></li><li class='item'>
<a href='/dataeggs/projects/modeling.mdt.ocl/datasets_report/'>modeling.mdt.ocl</a></li><li class='item'>
<a href='/dataeggs/projects/modeling.sirius/datasets_report/'>modeling.sirius</a></li><li class='item'>
<a href='/dataeggs/projects/technology.apogy/datasets_report/'>technology.apogy</a></li><li class='item'>
<a href='/dataeggs/projects/technology.app4mc/datasets_report/'>technology.app4mc</a></li><li class='item'>
<a href='/dataeggs/projects/technology.collections/datasets_report/'>technology.collections</a></li><li class='item'>
<a href='/dataeggs/projects/technology.ease/datasets_report/'>technology.ease</a></li><li class='item'>
<a href='/dataeggs/projects/technology.egit/datasets_report/'>technology.egit</a></li><li class='item'>
<a href='/dataeggs/projects/technology.epf/datasets_report/'>technology.epf</a></li><li class='item'>
<a href='/dataeggs/projects/technology.jgit/datasets_report/'>technology.jgit</a></li><li class='item'>
<a href='/dataeggs/projects/technology.paho/datasets_report/'>technology.paho</a></li><li class='item'>
<a href='/dataeggs/projects/technology.scout/datasets_report/'>technology.scout</a></li><li class='item'>
<a href='/dataeggs/projects/tools.cdt/datasets_report/'>tools.cdt</a></li><li class='item'>
<a href='/dataeggs/projects/tools.tracecompass/datasets_report/'>tools.tracecompass</a></li></ul></li></ul>
</div>
</nav>
</section><section class='widget widget-social_menu sep-after'><nav aria-label='Social Menu'>
<ul><li>
<a href='https://gitlab.eclipse.org/dataeggs/dataeggs' target='_blank' rel='noopener me'>
<span class='screen-reader-text'>Open Gitlab account in new tab</span><svg class='icon' xmlns='http://www.w3.org/2000/svg' viewbox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-hidden='true'>
<title>GitLab icon</title> <path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"/>
</svg>
</a>
</li><li>
<a href='mailto:boris@chrysalice.org' target='_blank' rel='noopener me'>
<span class='screen-reader-text'>Contact via Email</span><svg class='icon' xmlns='http://www.w3.org/2000/svg' viewbox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-hidden='true'>
<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline>
</svg>
</a>
</li></ul>
</nav>
</section></div>
<div class='sidebar-overlay'></div>
</div><div class='main'><a class='screen-reader-text' href='#content'>Skip to Content</a>
<button id='sidebar-toggler' class='sidebar-toggler' aria-controls='sidebar'>
<span class='screen-reader-text'>Toggle Sidebar</span>
<span class='open'><svg class='icon' xmlns='http://www.w3.org/2000/svg' viewbox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-hidden='true'>
<line x1="3" y1="12" x2="21" y2="12" />
<line x1="3" y1="6" x2="21" y2="6" />
<line x1="3" y1="18" x2="21" y2="18" />
</svg>
</span>
<span class='close'><svg class='icon' xmlns='http://www.w3.org/2000/svg' viewbox='0 0 24 24' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' aria-hidden='true'>
<line x1="18" y1="6" x2="6" y2="18" />
<line x1="6" y1="6" x2="18" y2="18" />
</svg>
</span>
</button><div class='header-widgets'>
<div class='container'>
<style>.widget-breadcrumbs li:after{content:'\2f '}</style>
<section class='widget widget-breadcrumbs sep-after'>
<nav id='breadcrumbs'>
<ol><li><a href='/dataeggs/'>Home</a></li><li><a href='/dataeggs/eclipse_mls/'>MailingLists</a></li><li><span>Mbox Analysis</span></li></ol>
</nav>
</section></div>
</div>
<header id='header' class='header site-header'>
<div class='container sep-after'>
<div class='header-info'><p class='site-title title'>Eclipse DataEggs</p><p class='desc site-desc'></p>
</div>
</div>
</header>
<main id='content'>
<article lang='en' class='entry'>
<header class='header entry-header'>
<div class='container sep-after'>
<div class='header-info'>
<h1 class='title'>Mbox Analysis</h1>
</div>
</div>
</header>
<div class='container entry-content'>
<script src="/dataeggs/rmarkdown-libs/htmlwidgets/htmlwidgets.js"></script>
<script src="/dataeggs/rmarkdown-libs/plotly-binding/plotly.js"></script>
<script src="/dataeggs/rmarkdown-libs/typedarray/typedarray.min.js"></script>
<script src="/dataeggs/rmarkdown-libs/jquery/jquery.min.js"></script>
<link href="/dataeggs/rmarkdown-libs/crosstalk/css/crosstalk.css" rel="stylesheet" />
<script src="/dataeggs/rmarkdown-libs/crosstalk/js/crosstalk.min.js"></script>
<link href="/dataeggs/rmarkdown-libs/plotly-htmlwidgets-css/plotly-htmlwidgets.css" rel="stylesheet" />
<script src="/dataeggs/rmarkdown-libs/plotly-main/plotly-latest.min.js"></script>
<script src="/dataeggs/rmarkdown-libs/htmlwidgets/htmlwidgets.js"></script>
<script src="/dataeggs/rmarkdown-libs/plotly-binding/plotly.js"></script>
<script src="/dataeggs/rmarkdown-libs/typedarray/typedarray.min.js"></script>
<script src="/dataeggs/rmarkdown-libs/jquery/jquery.min.js"></script>
<link href="/dataeggs/rmarkdown-libs/crosstalk/css/crosstalk.css" rel="stylesheet" />
<script src="/dataeggs/rmarkdown-libs/crosstalk/js/crosstalk.min.js"></script>
<link href="/dataeggs/rmarkdown-libs/plotly-htmlwidgets-css/plotly-htmlwidgets.css" rel="stylesheet" />
<script src="/dataeggs/rmarkdown-libs/plotly-main/plotly-latest.min.js"></script>
<h2 id="about-this-dataset">About this dataset</h2>
<p>This dataset is a dump of all posts sent on all mailing lists hosted at the Eclipse Forge. Although this is public data (the mailing lists can be browsed on the <a href="https://accounts.eclipse.org/mailing-list">official mailman page</a>) all data has been anonymised to prevent any misuse. The privacy issues identified, along with the anonymisation process, have been covered in a <a href="../../privacy/">dedicated document</a>.</p>
<p>These files are published under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons BY-Attribution-Share Alike 4.0 (International) licence</a>.</p>
<p>The dataset is composed of two parts:</p>
<ul>
<li><strong>eclipse_mls_full.csv</strong> contains an extract of all the messages exchanged on the various mailing lists. The present document uses this CSV as input data.</li>
<li>The <strong>full list of mboxes</strong>, one file per mailing list. They are listed in the <a href="../#project-mboxes">dataset main page</a> and can be downloaded directly from the <a href="../mboxes/">mboxes subdirectory</a>.</li>
</ul>
<p>All of them are updated weekly at 2am on Sunday.</p>
<h2 id="privacy-concerns">Privacy concerns</h2>
<p>We value privacy and intend to make everything we can to prevent misuse of the dataset. If you think we failed somewhere in the process, please <a href="mailto:boris@chrysalice.org">let us know</a> so we can do better.</p>
<p>All personally identifiable information has been scrambled using the <a href="https://github.com/borisbaldassari/data-anonymiser">data anonymiser</a> Perl module. As a result there is <strong>no clear email address</strong> in this dataset, <strong>nor any UUID or name</strong>. However all identical information produces the same encrypted string, which means that one can still identify identical data without knowing what it actually is. As an example email addresses are split (name, company) and encoded separately, which enables one to e.g. identify posters from the same company without knowing the company.</p>
<p>The anonymisation technique used basically encrypts information and then throws away the private key. Please refer to the <a href="https://github.com/borisbaldassari/data-anonymiser">documentation published on github</a> for more details.</p>
<h2 id="about-this-document">About this document</h2>
<p>This document is a <a href="http://rmarkdown.rstudio.com">R Markdown document</a> and is composed of both text (like this one) and dynamically computed information (mostly in the sections below) executed on the data itself. This ensures that the documentation is always synchronised with the data, and serves as a test suite for the dataset.</p>
<h2 id="basic-summary">Basic summary</h2>
<ul>
<li><strong>Generated date</strong>: Sun Jun 6 04:57:42 2021</li>
<li><strong>First date</strong>: 2001-11-05 19:14:58</li>
<li><strong>Last date</strong>: 2021-06-05 16:02:48</li>
<li><strong>Number of posts</strong>: 685739</li>
<li><strong>Number of attributes</strong>: 7</li>
</ul>
<h1 id="structure-of-data">Structure of data</h1>
<p>This dataset is composed of a single big CSV file. Attributes are: <code>list, messageid, subject, sent_at, sender_name, sender_addr</code>.</p>
<p>Examples are provided at the end of this file to demonstrate how to use it in R.</p>
<h2 id="list">list</h2>
<ul>
<li>Description: The mailing list and project of the post.</li>
<li>Type: String</li>
</ul>
<p>Examples:</p>
<table>
<caption>
(\#tab:list.sample)Sample of list names
</caption>
<thead>
<tr>
<th style="text-align:left;">
Project list names
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;">
jetty-dev
</td>
</tr>
<tr>
<td style="text-align:left;">
amalgam-releng
</td>
</tr>
<tr>
<td style="text-align:left;">
mtf-dev
</td>
</tr>
<tr>
<td style="text-align:left;">
eclipse-live
</td>
</tr>
<tr>
<td style="text-align:left;">
incubation
</td>
</tr>
</tbody>
</table>
<h2 id="messageid">messageId</h2>
<ul>
<li>Description: A unique identifier for the post.</li>
<li>Type: String (Scrambled Base64)</li>
</ul>
<p>Examples:</p>
<table>
<caption>
(\#tab:messageid.sample)Sample of message IDs
</caption>
<thead>
<tr>
<th style="text-align:left;">
Message ID
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;">
UMw5nLjS6j2tx4b1@BgA/JMY30UOcCc9d
</td>
</tr>
<tr>
<td style="text-align:left;">
lRyulsCKVhrkembR@bgyTAW1GtW4EZRcs
</td>
</tr>
<tr>
<td style="text-align:left;">
QNw+TI1YNPdHmfhW@hf9ZF0xXel3NwIYU
</td>
</tr>
<tr>
<td style="text-align:left;">
n2BojB0V5+urN3VS@kRSwuSpGzOV3Jnjh
</td>
</tr>
<tr>
<td style="text-align:left;">
I6S14rmflNugxhNF@ZegAmerLbvDFqtgB
</td>
</tr>
</tbody>
</table>
<h2 id="subject">Subject</h2>
<ul>
<li>Description: The subject of the post as sent on the mailing list.</li>
<li>Type: String</li>
</ul>
<p>Examples:</p>
<table>
<caption>
(\#tab:subject.sample)Sample of email subjects
</caption>
<thead>
<tr>
<th style="text-align:left;">
Subject
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;">
\[egit-dev\] “Add support for Eclipse-SourceReferences header” pending review
</td>
</tr>
<tr>
<td style="text-align:left;">
\[nattable-dev\] \[Hudson\] Hudson build is back to normal : nattable-snapshot \#323
</td>
</tr>
<tr>
<td style="text-align:left;">
\[henshin-dev\] Nested conditions
</td>
</tr>
<tr>
<td style="text-align:left;">
Re: \[imp-dev\] Latest IMP from update site can’t find templates
</td>
</tr>
<tr>
<td style="text-align:left;">
\[mdt-papyrus.dev\] What is an additional resource (from DiResourceSet) ?
</td>
</tr>
</tbody>
</table>
<h2 id="sent-at">Sent at</h2>
<ul>
<li>Description: The time of sending for the post.</li>
<li>Type: Date (ISO 8601)</li>
</ul>
<p>Main characteristics:</p>
<ul>
<li><strong>First date</strong>: 2001-11-05 19:14:58</li>
<li><strong>Last date</strong>: 2021-06-05 16:02:48</li>
</ul>
<p>Examples:</p>
<table>
<caption>
(\#tab:sentat.sample)Sample of sent dates
</caption>
<thead>
<tr>
<th style="text-align:left;">
Sent date
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;">
2017-05-10 12:39:24
</td>
</tr>
<tr>
<td style="text-align:left;">
2008-10-07 13:52:55
</td>
</tr>
<tr>
<td style="text-align:left;">
2006-09-08 18:24:32
</td>
</tr>
<tr>
<td style="text-align:left;">
2009-04-29 15:36:08
</td>
</tr>
<tr>
<td style="text-align:left;">
2005-08-09 01:12:32
</td>
</tr>
</tbody>
</table>
<h2 id="sender-name">Sender name</h2>
<ul>
<li>Description: The name of the sender of the post.</li>
<li>Type: String (Scrambled Base64)</li>
<li>Number of unique entries: 24388</li>
</ul>
<p>Examples:</p>
<table>
<caption>
(\#tab:sendername.sample)Sample of sender names
</caption>
<thead>
<tr>
<th style="text-align:left;">
Sender names
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;">
nc0bIWRU3U3ltsFU
</td>
</tr>
<tr>
<td style="text-align:left;">
dhr7IM+ijjDnP6wJ
</td>
</tr>
<tr>
<td style="text-align:left;">
LFNuHPgw3ETTfcWy
</td>
</tr>
<tr>
<td style="text-align:left;">
I/x/EGwCuPAD4I/t
</td>
</tr>
<tr>
<td style="text-align:left;">
dSrwsupBJu2larNx
</td>
</tr>
</tbody>
</table>
<p>Note: A single name repeated several times will always result in the same scrambled ID. This way it is possible to identify same-author posts without actually knowing the name of the sender.</p>
<h2 id="sender-address">Sender address</h2>
<ul>
<li>Description: The email address of the sender, encoded.</li>
<li>Type: String (Scrambled Base64)</li>
<li>Number of unique entries: 24732</li>
</ul>
<p>Examples:</p>
<table>
<caption>
(\#tab:senderaddr.sample)Sample of sender addresses
</caption>
<thead>
<tr>
<th style="text-align:left;">
Sender addresses
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;">
K1CKue44oDSn7HhV@jTqVUw9M/QztQ+n1
</td>
</tr>
<tr>
<td style="text-align:left;">
SWlch6aT+wgafIIN@CndoK9C6/1lD61e6
</td>
</tr>
<tr>
<td style="text-align:left;">
Fkm9N9fBvVohCmRJ@hnd5laf0m+yPyCRu
</td>
</tr>
<tr>
<td style="text-align:left;">
j8MWKTE+uLTbwUi0@BRZsi4fcFzkqlVtn
</td>
</tr>
<tr>
<td style="text-align:left;">
Qs65PnAB2DAPPG3S@pqjERi9HOQqCW4QI
</td>
</tr>
</tbody>
</table>
<p>Note: A single email address repeated several times will always result in the same scrambled email address. Furthermore both parts of the email (name, company) are individually scrambled, which means that one can identify email addresses from the same company without actually knowing the real company or name of the sender.</p>
<h1 id="using-the-dataset">Using the dataset</h1>
<h2 id="reading-csv-file">Reading CSV file</h2>
<p>Reading file from eclipse_mls_full.csv.</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r">project.csv <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">read.csv</span>(file.in, header<span style="color:#f92672">=</span>T)
</code></pre></div><p>We add a column for the Company, which we extract from the email address (i.e. the domain name):</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r">project.csv<span style="color:#f92672">$</span>Company <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">substr</span>(x <span style="color:#f92672">=</span> project.csv<span style="color:#f92672">$</span>sender_addr, <span style="color:#ae81ff">18</span>, <span style="color:#ae81ff">33</span>)
</code></pre></div><p>Number of columns in this dataset:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r"><span style="color:#a6e22e">ncol</span>(project.csv)
</code></pre></div><pre><code>## [1] 7
</code></pre>
<p>Number of entries in this dataset:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r"><span style="color:#a6e22e">nrow</span>(project.csv)
</code></pre></div><pre><code>## [1] 685739
</code></pre>
<p>Names of columns:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r"><span style="color:#a6e22e">names</span>(project.csv)
</code></pre></div><pre><code>## [1] &quot;list&quot; &quot;messageid&quot; &quot;subject&quot; &quot;sent_at&quot; &quot;sender_name&quot;
## [6] &quot;sender_addr&quot; &quot;Company&quot;
</code></pre>
<h2 id="using-time-series-xts">Using time series (xts)</h2>
<p>The dataset needs to be converted to a <code>xts</code> object. We can use the <code>sent_at</code> attribute as a time index.</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r"><span style="color:#a6e22e">require</span>(xts)
project.xts <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">xts</span>(x <span style="color:#f92672">=</span> project.csv, order.by <span style="color:#f92672">=</span> <span style="color:#a6e22e">parse_iso_8601</span>(project.csv<span style="color:#f92672">$</span>sent_at))
</code></pre></div><h2 id="plotting-number-of-monthly-posts">Plotting number of monthly posts</h2>
<p>When considering the timeline of the dataset, it can be misleading when there several submissions on a short period of time, compared to sparse time ranges. We’ll use the <code>apply.monthly</code> function from <code>xts</code> to normalise the total number of monthly submissions.</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r">project.monthly <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">apply.monthly</span>(x<span style="color:#f92672">=</span>project.xts<span style="color:#f92672">$</span>sent_at, FUN<span style="color:#f92672">=</span>nrow)
<span style="color:#a6e22e">autoplot</span>(project.monthly, geom<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;line&#39;</span>) <span style="color:#f92672">+</span>
<span style="color:#a6e22e">theme_minimal</span>() <span style="color:#f92672">+</span> <span style="color:#a6e22e">ylab</span>(<span style="color:#e6db74">&#34;Number of posts&#34;</span>) <span style="color:#f92672">+</span> <span style="color:#a6e22e">xlab</span>(<span style="color:#e6db74">&#34;Time&#34;</span>) <span style="color:#f92672">+</span> <span style="color:#a6e22e">ggtitle</span>(<span style="color:#e6db74">&#34;Number of monthly posts&#34;</span>)
</code></pre></div><p><img src="/dataeggs/eclipse_mls/mbox_csv_analysis_files/figure-html/examples.xts.plot-1.png" width="672" /></p>
<h2 id="plotting-number-of-monthly-reporters">Plotting number of monthly reporters</h2>
<p>One author can post several emails on the mailing list. Let’s plot the monthly number of distinct authors on the mailing list. For this we need to count the number of unique occurrences of the email address (attribute <code>sender_attr</code>).</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r">count_unique <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">function</span>(x) { <span style="color:#a6e22e">length</span>(<span style="color:#a6e22e">unique</span>(x)) }
project.monthly <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">apply.monthly</span>(x<span style="color:#f92672">=</span>project.xts<span style="color:#f92672">$</span>sender_addr, FUN<span style="color:#f92672">=</span>count_unique)
<span style="color:#a6e22e">autoplot</span>(project.monthly, geom<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;line&#39;</span>) <span style="color:#f92672">+</span>
<span style="color:#a6e22e">theme_minimal</span>() <span style="color:#f92672">+</span> <span style="color:#a6e22e">ylab</span>(<span style="color:#e6db74">&#34;Number of authors&#34;</span>) <span style="color:#f92672">+</span> <span style="color:#a6e22e">xlab</span>(<span style="color:#e6db74">&#34;Time&#34;</span>) <span style="color:#f92672">+</span> <span style="color:#a6e22e">ggtitle</span>(<span style="color:#e6db74">&#34;Number of monthly distinct authors&#34;</span>)
</code></pre></div><p><img src="/dataeggs/eclipse_mls/mbox_csv_analysis_files/figure-html/xts.monthly.reporters-1.png" width="672" /></p>
<h2 id="plotting-activity-of-authors">Plotting activity of authors</h2>
<p>We want to plot the number of emails sent by each author regardless of the mailing list they were sent on. We display only the 10 top posters:</p>
<table>
<caption>
(\#tab:reporters.sample)Top 10 senders on mailing lists
</caption>
<thead>
<tr>
<th style="text-align:left;">
Sender address
</th>
<th style="text-align:right;">
Number of posts
</th>
<th style="text-align:left;">
Company
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;">
Qs65PnAB2DAPPG3S@pqjERi9HOQqCW4QI
</td>
<td style="text-align:right;">
38007
</td>
<td style="text-align:left;">
pqjERi9HOQqCW4QI
</td>
</tr>
<tr>
<td style="text-align:left;">
RVQshPuNNyvk75G5@pqjERi9HOQqCW4QI
</td>
<td style="text-align:right;">
19956
</td>
<td style="text-align:left;">
pqjERi9HOQqCW4QI
</td>
</tr>
<tr>
<td style="text-align:left;">
F77Ax6US4zHCrBs5@pqjERi9HOQqCW4QI
</td>
<td style="text-align:right;">
15720
</td>
<td style="text-align:left;">
pqjERi9HOQqCW4QI
</td>
</tr>
<tr>
<td style="text-align:left;">
ejAiEz2GBQs3x75y@pqjERi9HOQqCW4QI
</td>
<td style="text-align:right;">
9915
</td>
<td style="text-align:left;">
pqjERi9HOQqCW4QI
</td>
</tr>
<tr>
<td style="text-align:left;">
bHVgQqbzY2+ropW2@pqjERi9HOQqCW4QI
</td>
<td style="text-align:right;">
8828
</td>
<td style="text-align:left;">
pqjERi9HOQqCW4QI
</td>
</tr>
<tr>
<td style="text-align:left;">
mqbJYY0xh1GADrtg@LPTzD+UbTTh1FSs0
</td>
<td style="text-align:right;">
8428
</td>
<td style="text-align:left;">
LPTzD+UbTTh1FSs0
</td>
</tr>
<tr>
<td style="text-align:left;">
FCjJYol6CMsYzC58@pqjERi9HOQqCW4QI
</td>
<td style="text-align:right;">
6969
</td>
<td style="text-align:left;">
pqjERi9HOQqCW4QI
</td>
</tr>
<tr>
<td style="text-align:left;">
QOyb9cWtCyoD2ayo@pqjERi9HOQqCW4QI
</td>
<td style="text-align:right;">
5327
</td>
<td style="text-align:left;">
pqjERi9HOQqCW4QI
</td>
</tr>
<tr>
<td style="text-align:left;">
FYMLCuhp46jhDyPZ@pqjERi9HOQqCW4QI
</td>
<td style="text-align:right;">
5012
</td>
<td style="text-align:left;">
pqjERi9HOQqCW4QI
</td>
</tr>
<tr>
<td style="text-align:left;">
C1h3kjDwTPM/rdjQ@pUGnQYcn9uHQtqBw
</td>
<td style="text-align:right;">
4945
</td>
<td style="text-align:left;">
pUGnQYcn9uHQtqBw
</td>
</tr>
</tbody>
</table>
<p>Now plot these 50 top posters with ggplot and use the company (i.e. second part of the email address) for the colour:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r">authors.subset <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">head</span>( authors, n <span style="color:#f92672">=</span> n)
authors.subset.df <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">as.data.frame</span>(authors.subset)
<span style="color:#a6e22e">names</span>(authors.subset.df) <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">c</span>(<span style="color:#e6db74">&#39;ID&#39;</span>, <span style="color:#e6db74">&#39;Posts&#39;</span>)
authors.subset.df<span style="color:#f92672">$</span>Author <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">substr</span>(x <span style="color:#f92672">=</span> authors.subset.df<span style="color:#f92672">$</span>ID, <span style="color:#ae81ff">1</span>, <span style="color:#ae81ff">16</span>)
authors.subset.df<span style="color:#f92672">$</span>Company <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">substr</span>(x <span style="color:#f92672">=</span> authors.subset.df<span style="color:#f92672">$</span>ID, <span style="color:#ae81ff">18</span>, <span style="color:#ae81ff">33</span>)
p <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">ggplot</span>(data<span style="color:#f92672">=</span>authors.subset.df, <span style="color:#a6e22e">aes</span>(x<span style="color:#f92672">=</span><span style="color:#a6e22e">reorder</span>(Author, <span style="color:#f92672">-</span>Posts), y <span style="color:#f92672">=</span> Posts, fill <span style="color:#f92672">=</span> Company)) <span style="color:#f92672">+</span>
<span style="color:#a6e22e">geom_bar</span>(stat<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;identity&#34;</span>) <span style="color:#f92672">+</span>
<span style="color:#a6e22e">theme_minimal</span>() <span style="color:#f92672">+</span> <span style="color:#a6e22e">ylab</span>(<span style="color:#e6db74">&#34;Number of posts&#34;</span>) <span style="color:#f92672">+</span> <span style="color:#a6e22e">xlab</span>(<span style="color:#e6db74">&#39;Posters&#39;</span>) <span style="color:#f92672">+</span>
<span style="color:#a6e22e">ggtitle</span>(<span style="color:#a6e22e">paste</span>(n, <span style="color:#e6db74">&#34; overall top posters on Eclipse mailing lists&#34;</span>, sep<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;&#34;</span>)) <span style="color:#f92672">+</span>
<span style="color:#a6e22e">theme</span>( axis.text.x <span style="color:#f92672">=</span> <span style="color:#a6e22e">element_text</span>(angle<span style="color:#f92672">=</span><span style="color:#ae81ff">60</span>, size <span style="color:#f92672">=</span> <span style="color:#ae81ff">7</span>, hjust <span style="color:#f92672">=</span> <span style="color:#ae81ff">1</span>))
g <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">ggplotly</span>(p)
g
</code></pre></div><div id="htmlwidget-1" style="width:672px;height:480px;" class="plotly html-widget"></div>
<script type="application/json" data-for="htmlwidget-1">{"x":{"data":[{"orientation":"v","width":0.900000000000006,"base":0,"x":[37],"y":[2280],"text":"reorder(Author, -Posts): MYc6NV2xqHzbzbMK<br />Posts: 2280<br />Company: b7fhAoIM5TlrLI+f","type":"bar","marker":{"autocolorscale":false,"color":"rgba(248,118,109,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"b7fhAoIM5TlrLI+f","legendgroup":"b7fhAoIM5TlrLI+f","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[16],"y":[4016],"text":"reorder(Author, -Posts): mUY7VGVv0yo69jjZ<br />Posts: 4016<br />Company: bdLAwCNRw3sid85Y","type":"bar","marker":{"autocolorscale":false,"color":"rgba(237,129,62,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"bdLAwCNRw3sid85Y","legendgroup":"bdLAwCNRw3sid85Y","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[48],"y":[1860],"text":"reorder(Author, -Posts): N8hicdYLiC/7Ex+1<br />Posts: 1860<br />Company: BgA/JMY30UOcCc9d","type":"bar","marker":{"autocolorscale":false,"color":"rgba(222,140,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"BgA/JMY30UOcCc9d","legendgroup":"BgA/JMY30UOcCc9d","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[11],"y":[4641],"text":"reorder(Author, -Posts): OdQ6+PJz0kQyQOJG<br />Posts: 4641<br />Company: cjRDyADNICbNDRku","type":"bar","marker":{"autocolorscale":false,"color":"rgba(205,150,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"cjRDyADNICbNDRku","legendgroup":"cjRDyADNICbNDRku","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.899999999999999,0.899999999999999,0.899999999999999,0.900000000000006,0.900000000000006,0.900000000000006],"base":[0,0,0,0,0,0],"x":[25,27,31,33,44,49],"y":[2896,2679,2558,2370,1928,1785],"text":["reorder(Author, -Posts): oYzayU8HCo3cN1+a<br />Posts: 2896<br />Company: CndoK9C6/1lD61e6","reorder(Author, -Posts): glHAT5huv/wmNDjK<br />Posts: 2679<br />Company: CndoK9C6/1lD61e6","reorder(Author, -Posts): ImAVEBX+NkyKTfgB<br />Posts: 2558<br />Company: CndoK9C6/1lD61e6","reorder(Author, -Posts): SWlch6aT+wgafIIN<br />Posts: 2370<br />Company: CndoK9C6/1lD61e6","reorder(Author, -Posts): GMYJHCPC7KUn++5G<br />Posts: 1928<br />Company: CndoK9C6/1lD61e6","reorder(Author, -Posts): a/m51EHAWvdnQgZb<br />Posts: 1785<br />Company: CndoK9C6/1lD61e6"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(183,159,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"CndoK9C6/1lD61e6","legendgroup":"CndoK9C6/1lD61e6","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[45],"y":[1921],"text":"reorder(Author, -Posts): EGCH4E4bCturYoKi<br />Posts: 1921<br />Company: crOOB6JBA4q++b4r","type":"bar","marker":{"autocolorscale":false,"color":"rgba(157,167,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"crOOB6JBA4q++b4r","legendgroup":"crOOB6JBA4q++b4r","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[35],"y":[2315],"text":"reorder(Author, -Posts): VnYEgW4z33KYrMV6<br />Posts: 2315<br />Company: I/0ECnCyA8jPwhcn","type":"bar","marker":{"autocolorscale":false,"color":"rgba(124,174,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"I/0ECnCyA8jPwhcn","legendgroup":"I/0ECnCyA8jPwhcn","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[29],"y":[2637],"text":"reorder(Author, -Posts): fEIvcNljGhn5tTJn<br />Posts: 2637<br />Company: j+Uw17Bd/FZp6SvY","type":"bar","marker":{"autocolorscale":false,"color":"rgba(73,181,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"j+Uw17Bd/FZp6SvY","legendgroup":"j+Uw17Bd/FZp6SvY","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[20],"y":[3539],"text":"reorder(Author, -Posts): XJnoT6MKWdvCZhAF<br />Posts: 3539<br />Company: j1hYFt09Up0NogRv","type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,186,56,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"j1hYFt09Up0NogRv","legendgroup":"j1hYFt09Up0NogRv","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[46],"y":[1908],"text":"reorder(Author, -Posts): eBKzntvY1ltrK8Di<br />Posts: 1908<br />Company: JZbPP26ur7VA28eJ","type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,190,103,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"JZbPP26ur7VA28eJ","legendgroup":"JZbPP26ur7VA28eJ","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[40],"y":[2196],"text":"reorder(Author, -Posts): rbHBIwJycI/ejCK/<br />Posts: 2196<br />Company: KueKJRx9AVztBx+F","type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,192,139,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"KueKJRx9AVztBx+F","legendgroup":"KueKJRx9AVztBx+F","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.9,"base":8828,"x":[7],"y":[3384],"text":"reorder(Author, -Posts): bHVgQqbzY2+ropW2<br />Posts: 3384<br />Company: KxDnWEnYS/96EuZn","type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,193,169,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"KxDnWEnYS/96EuZn","legendgroup":"KxDnWEnYS/96EuZn","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.899999999999999,0.900000000000006],"base":[0,0,0],"x":[5,28,47],"y":[8428,2646,1902],"text":["reorder(Author, -Posts): mqbJYY0xh1GADrtg<br />Posts: 8428<br />Company: LPTzD+UbTTh1FSs0","reorder(Author, -Posts): qibNDNRpaa0Sy5ac<br />Posts: 2646<br />Company: LPTzD+UbTTh1FSs0","reorder(Author, -Posts): kLP7or/jlHOZ9wN3<br />Posts: 1902<br />Company: LPTzD+UbTTh1FSs0"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,191,196,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"LPTzD+UbTTh1FSs0","legendgroup":"LPTzD+UbTTh1FSs0","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[41],"y":[2156],"text":"reorder(Author, -Posts): jCxGzHJaz6zroBbF<br />Posts: 2156<br />Company: n8k19v8IhT4Bl8j0","type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,187,220,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"n8k19v8IhT4Bl8j0","legendgroup":"n8k19v8IhT4Bl8j0","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[38],"y":[2275],"text":"reorder(Author, -Posts): q8w3yQ7FRH3rkU6A<br />Posts: 2275<br />Company: OJlfd/wUk6mk3+nc","type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,180,240,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"OJlfd/wUk6mk3+nc","legendgroup":"OJlfd/wUk6mk3+nc","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[36],"y":[2306],"text":"reorder(Author, -Posts): DGAIjMPknP45iq7k<br />Posts: 2306<br />Company: OR12lbyj7katDDj5","type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,169,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"OR12lbyj7katDDj5","legendgroup":"OR12lbyj7katDDj5","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[18],"y":[3801],"text":"reorder(Author, -Posts): JyU4jYqJooz6yqTh<br />Posts: 3801<br />Company: PiFfHi2G7EPV5urp","type":"bar","marker":{"autocolorscale":false,"color":"rgba(97,156,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"PiFfHi2G7EPV5urp","legendgroup":"PiFfHi2G7EPV5urp","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[23],"y":[3154],"text":"reorder(Author, -Posts): TFQQqCjx1wTGWobU<br />Posts: 3154<br />Company: PJ6Aipk5VywWSeXo","type":"bar","marker":{"autocolorscale":false,"color":"rgba(159,140,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"PJ6Aipk5VywWSeXo","legendgroup":"PJ6Aipk5VywWSeXo","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.900000000000002,0.900000000000006,0.900000000000006],"base":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"x":[1,2,3,4,7,6,8,9,13,14,15,17,21,22,26,30,32,34,43],"y":[38007,19956,15720,9915,8828,6969,5327,5012,4287,4252,4146,3912,3530,3209,2807,2578,2409,2342,1942],"text":["reorder(Author, -Posts): Qs65PnAB2DAPPG3S<br />Posts: 38007<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): RVQshPuNNyvk75G5<br />Posts: 19956<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): F77Ax6US4zHCrBs5<br />Posts: 15720<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): ejAiEz2GBQs3x75y<br />Posts: 9915<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): bHVgQqbzY2+ropW2<br />Posts: 8828<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): FCjJYol6CMsYzC58<br />Posts: 6969<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): QOyb9cWtCyoD2ayo<br />Posts: 5327<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): FYMLCuhp46jhDyPZ<br />Posts: 5012<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): MgCVDz4YRlg+iG0f<br />Posts: 4287<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): EgmwbeT0a64uKK35<br />Posts: 4252<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): IHA0I1w2xXYILk49<br />Posts: 4146<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): dxKTLjhYikpwycTE<br />Posts: 3912<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): mDDJfpS5kPPDu2LB<br />Posts: 3530<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): iBOx1Xmt6i0wVBRn<br />Posts: 3209<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): kNYpLl/u8Ha04Scs<br />Posts: 2807<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): OB/ZIZEcu3+gVMRH<br />Posts: 2578<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): H/pEEbDJFKfQtC65<br />Posts: 2409<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): rCIJ8p0STWs4V+B8<br />Posts: 2342<br />Company: pqjERi9HOQqCW4QI","reorder(Author, -Posts): Q2XSyFMe0LagkcOM<br />Posts: 1942<br />Company: pqjERi9HOQqCW4QI"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(199,124,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"pqjERi9HOQqCW4QI","legendgroup":"pqjERi9HOQqCW4QI","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.899999999999999,0.899999999999999],"base":[0,0],"x":[10,24],"y":[4945,3121],"text":["reorder(Author, -Posts): C1h3kjDwTPM/rdjQ<br />Posts: 4945<br />Company: pUGnQYcn9uHQtqBw","reorder(Author, -Posts): C4S92vE/9oW/tfKe<br />Posts: 3121<br />Company: pUGnQYcn9uHQtqBw"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(227,110,246,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"pUGnQYcn9uHQtqBw","legendgroup":"pUGnQYcn9uHQtqBw","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[12],"y":[4408],"text":"reorder(Author, -Posts): KvGesWZUSXNWk6LN<br />Posts: 4408<br />Company: qGcq7Y+zBP6QwLhZ","type":"bar","marker":{"autocolorscale":false,"color":"rgba(245,100,227,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"qGcq7Y+zBP6QwLhZ","legendgroup":"qGcq7Y+zBP6QwLhZ","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[42],"y":[2111],"text":"reorder(Author, -Posts): X/uQPTSeGay3ypic<br />Posts: 2111<br />Company: rKakIz3jwZFFuc2K","type":"bar","marker":{"autocolorscale":false,"color":"rgba(255,97,204,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"rKakIz3jwZFFuc2K","legendgroup":"rKakIz3jwZFFuc2K","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.900000000000006,"base":0,"x":[39],"y":[2206],"text":"reorder(Author, -Posts): JMkubRvUFSZgHf92<br />Posts: 2206<br />Company: WfksfrLkNPju7PmE","type":"bar","marker":{"autocolorscale":false,"color":"rgba(255,100,176,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"WfksfrLkNPju7PmE","legendgroup":"WfksfrLkNPju7PmE","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":0.899999999999999,"base":0,"x":[19],"y":[3596],"text":"reorder(Author, -Posts): P2cW95QxEzRwVuqy<br />Posts: 3596<br />Company: Yl/mH3YI4qUw3Yrt","type":"bar","marker":{"autocolorscale":false,"color":"rgba(255,108,145,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"Yl/mH3YI4qUw3Yrt","legendgroup":"Yl/mH3YI4qUw3Yrt","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null}],"layout":{"margin":{"t":43.7625570776256,"r":7.30593607305936,"b":40.0568596155048,"l":54.7945205479452},"font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"title":{"text":"50 overall top posters on Eclipse mailing lists","font":{"color":"rgba(0,0,0,1)","family":"","size":17.5342465753425},"x":0,"xref":"paper"},"xaxis":{"domain":[0,1],"automargin":true,"type":"linear","autorange":false,"range":[0.4,49.6],"tickmode":"array","ticktext":["Qs65PnAB2DAPPG3S","RVQshPuNNyvk75G5","F77Ax6US4zHCrBs5","ejAiEz2GBQs3x75y","mqbJYY0xh1GADrtg","FCjJYol6CMsYzC58","bHVgQqbzY2+ropW2","QOyb9cWtCyoD2ayo","FYMLCuhp46jhDyPZ","C1h3kjDwTPM/rdjQ","OdQ6+PJz0kQyQOJG","KvGesWZUSXNWk6LN","MgCVDz4YRlg+iG0f","EgmwbeT0a64uKK35","IHA0I1w2xXYILk49","mUY7VGVv0yo69jjZ","dxKTLjhYikpwycTE","JyU4jYqJooz6yqTh","P2cW95QxEzRwVuqy","XJnoT6MKWdvCZhAF","mDDJfpS5kPPDu2LB","iBOx1Xmt6i0wVBRn","TFQQqCjx1wTGWobU","C4S92vE/9oW/tfKe","oYzayU8HCo3cN1+a","kNYpLl/u8Ha04Scs","glHAT5huv/wmNDjK","qibNDNRpaa0Sy5ac","fEIvcNljGhn5tTJn","OB/ZIZEcu3+gVMRH","ImAVEBX+NkyKTfgB","H/pEEbDJFKfQtC65","SWlch6aT+wgafIIN","rCIJ8p0STWs4V+B8","VnYEgW4z33KYrMV6","DGAIjMPknP45iq7k","MYc6NV2xqHzbzbMK","q8w3yQ7FRH3rkU6A","JMkubRvUFSZgHf92","rbHBIwJycI/ejCK/","jCxGzHJaz6zroBbF","X/uQPTSeGay3ypic","Q2XSyFMe0LagkcOM","GMYJHCPC7KUn++5G","EGCH4E4bCturYoKi","eBKzntvY1ltrK8Di","kLP7or/jlHOZ9wN3","N8hicdYLiC/7Ex+1","a/m51EHAWvdnQgZb"],"tickvals":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49],"categoryorder":"array","categoryarray":["Qs65PnAB2DAPPG3S","RVQshPuNNyvk75G5","F77Ax6US4zHCrBs5","ejAiEz2GBQs3x75y","mqbJYY0xh1GADrtg","FCjJYol6CMsYzC58","bHVgQqbzY2+ropW2","QOyb9cWtCyoD2ayo","FYMLCuhp46jhDyPZ","C1h3kjDwTPM/rdjQ","OdQ6+PJz0kQyQOJG","KvGesWZUSXNWk6LN","MgCVDz4YRlg+iG0f","EgmwbeT0a64uKK35","IHA0I1w2xXYILk49","mUY7VGVv0yo69jjZ","dxKTLjhYikpwycTE","JyU4jYqJooz6yqTh","P2cW95QxEzRwVuqy","XJnoT6MKWdvCZhAF","mDDJfpS5kPPDu2LB","iBOx1Xmt6i0wVBRn","TFQQqCjx1wTGWobU","C4S92vE/9oW/tfKe","oYzayU8HCo3cN1+a","kNYpLl/u8Ha04Scs","glHAT5huv/wmNDjK","qibNDNRpaa0Sy5ac","fEIvcNljGhn5tTJn","OB/ZIZEcu3+gVMRH","ImAVEBX+NkyKTfgB","H/pEEbDJFKfQtC65","SWlch6aT+wgafIIN","rCIJ8p0STWs4V+B8","VnYEgW4z33KYrMV6","DGAIjMPknP45iq7k","MYc6NV2xqHzbzbMK","q8w3yQ7FRH3rkU6A","JMkubRvUFSZgHf92","rbHBIwJycI/ejCK/","jCxGzHJaz6zroBbF","X/uQPTSeGay3ypic","Q2XSyFMe0LagkcOM","GMYJHCPC7KUn++5G","EGCH4E4bCturYoKi","eBKzntvY1ltrK8Di","kLP7or/jlHOZ9wN3","N8hicdYLiC/7Ex+1","a/m51EHAWvdnQgZb"],"nticks":null,"ticks":"","tickcolor":null,"ticklen":3.65296803652968,"tickwidth":0,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":9.29846409298464},"tickangle":-60,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"y","title":{"text":"Posters","font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187}},"hoverformat":".2f"},"yaxis":{"domain":[0,1],"automargin":true,"type":"linear","autorange":false,"range":[-1900.35,39907.35],"tickmode":"array","ticktext":["0","10000","20000","30000"],"tickvals":[0,10000,20000,30000],"categoryorder":"array","categoryarray":["0","10000","20000","30000"],"nticks":null,"ticks":"","tickcolor":null,"ticklen":3.65296803652968,"tickwidth":0,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.689497716895},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"x","title":{"text":"Number of posts","font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187}},"hoverformat":".2f"},"shapes":[{"type":"rect","fillcolor":null,"line":{"color":null,"width":0,"linetype":[]},"yref":"paper","xref":"paper","x0":0,"x1":1,"y0":0,"y1":1}],"showlegend":true,"legend":{"bgcolor":null,"bordercolor":null,"borderwidth":0,"font":{"color":"rgba(0,0,0,1)","family":"","size":11.689497716895},"y":0.96751968503937},"annotations":[{"text":"Company","x":1.02,"y":1,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"left","yanchor":"bottom","legendTitle":true}],"hovermode":"closest","barmode":"relative"},"config":{"doubleClick":"reset","showSendToCloud":false},"source":"A","attrs":{"3fdf60a09ce9":{"x":{},"y":{},"fill":{},"type":"bar"}},"cur_data":"3fdf60a09ce9","visdat":{"3fdf60a09ce9":["function (y) ","x"]},"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.2,"selected":{"opacity":1},"debounce":0},"shinyEvents":["plotly_hover","plotly_click","plotly_selected","plotly_relayout","plotly_brushed","plotly_brushing","plotly_clickannotation","plotly_doubleclick","plotly_deselect","plotly_afterplot","plotly_sunburstclick"],"base_url":"https://plot.ly"},"evals":[],"jsHooks":[]}</script>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r"><span style="color:#75715e">#api_create(g, filename = &#34;r-eclipse_mls_authors&#34;)</span>
</code></pre></div><h2 id="posts-by-company">Posts by Company</h2>
<p>We want to know what companies posted the most messages in mailing listsacross years. To that end we select the 20 companies that have the larger number of posts and plot the number of messages by company year after year.</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r">comps_list <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">head</span>( <span style="color:#a6e22e">sort</span>( x <span style="color:#f92672">=</span> <span style="color:#a6e22e">table</span>(project.csv<span style="color:#f92672">$</span>Company), decreasing <span style="color:#f92672">=</span> T ), n<span style="color:#f92672">=</span><span style="color:#ae81ff">20</span> )
df <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">data.frame</span>(Company<span style="color:#f92672">=</span><span style="color:#a6e22e">character</span>(),
Year<span style="color:#f92672">=</span><span style="color:#a6e22e">character</span>(),
Posts<span style="color:#f92672">=</span><span style="color:#a6e22e">integer</span>(),
stringsAsFactors<span style="color:#f92672">=</span><span style="color:#66d9ef">FALSE</span>)
<span style="color:#a6e22e">for </span>(i in <span style="color:#a6e22e">seq_along</span>(<span style="color:#ae81ff">1</span><span style="color:#f92672">:</span><span style="color:#ae81ff">20</span>)) {
project.comp.xts <span style="color:#f92672">&lt;-</span> project.xts[project.xts<span style="color:#f92672">$</span>Company <span style="color:#f92672">==</span> <span style="color:#a6e22e">names</span>(comps_list)[[i]],]
project.comp.yearly <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">apply.yearly</span>(x<span style="color:#f92672">=</span>project.comp.xts<span style="color:#f92672">$</span>Company, FUN<span style="color:#f92672">=</span>nrow)
<span style="color:#a6e22e">for </span>(j in <span style="color:#a6e22e">seq_along</span>(<span style="color:#ae81ff">1</span><span style="color:#f92672">:</span><span style="color:#a6e22e">nrow</span>(project.comp.yearly))) {
year <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">format</span>(<span style="color:#a6e22e">index</span>(project.comp.yearly)[[j]],<span style="color:#e6db74">&#34;%Y&#34;</span>)
comp <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">as.data.frame</span>(<span style="color:#a6e22e">t</span>(<span style="color:#a6e22e">c</span>(<span style="color:#a6e22e">names</span>(comps_list)[[i]], year, <span style="color:#a6e22e">as.integer</span>(project.comp.yearly[[j]]))))
<span style="color:#a6e22e">names</span>(comp) <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">c</span>(<span style="color:#e6db74">&#34;Company&#34;</span>, <span style="color:#e6db74">&#34;Year&#34;</span>, <span style="color:#e6db74">&#34;Posts&#34;</span>)
df <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">rbind</span>(df, comp)
}
}
df<span style="color:#f92672">$</span>Company <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">as.character</span>(df<span style="color:#f92672">$</span>Company)
df <span style="color:#f92672">&lt;-</span> df<span style="color:#a6e22e">[order</span>(df<span style="color:#f92672">$</span>Company),]
p <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">ggplot</span>(data<span style="color:#f92672">=</span>df, <span style="color:#a6e22e">aes</span>(x<span style="color:#f92672">=</span>Year, y <span style="color:#f92672">=</span> Posts, fill <span style="color:#f92672">=</span> Company)) <span style="color:#f92672">+</span> <span style="color:#a6e22e">geom_bar</span>(stat<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;identity&#34;</span>) <span style="color:#f92672">+</span>
<span style="color:#a6e22e">theme_minimal</span>() <span style="color:#f92672">+</span> <span style="color:#a6e22e">ylab</span>(<span style="color:#e6db74">&#34;Number of posts&#34;</span>) <span style="color:#f92672">+</span> <span style="color:#a6e22e">xlab</span>(<span style="color:#e6db74">&#39;Years&#39;</span>) <span style="color:#f92672">+</span>
<span style="color:#a6e22e">ggtitle</span>(<span style="color:#e6db74">&#34;Top 20 Companies involved in Eclipse mailing lists across years&#34;</span>) <span style="color:#f92672">+</span>
<span style="color:#a6e22e">theme</span>( axis.text.x <span style="color:#f92672">=</span> <span style="color:#a6e22e">element_text</span>(angle<span style="color:#f92672">=</span><span style="color:#ae81ff">60</span>, size <span style="color:#f92672">=</span> <span style="color:#ae81ff">7</span>, hjust <span style="color:#f92672">=</span> <span style="color:#ae81ff">1</span>))
g <span style="color:#f92672">&lt;-</span> <span style="color:#a6e22e">ggplotly</span>(p)
g
</code></pre></div><div id="htmlwidget-2" style="width:672px;height:480px;" class="plotly html-widget"></div>
<script type="application/json" data-for="htmlwidget-2">{"x":{"data":[{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[0,253,254,0,255,2271,257,0,0,0,258,259,0,1493,724,261,0],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[240,241,242,243,244,53,245,246,247,248,249,250,251,130,224,252,245],"text":["Year: 2005<br />Posts: 240<br />Company: aEkP+4OioynurmBC","Year: 2006<br />Posts: 241<br />Company: aEkP+4OioynurmBC","Year: 2007<br />Posts: 242<br />Company: aEkP+4OioynurmBC","Year: 2008<br />Posts: 243<br />Company: aEkP+4OioynurmBC","Year: 2009<br />Posts: 244<br />Company: aEkP+4OioynurmBC","Year: 2010<br />Posts: 53<br />Company: aEkP+4OioynurmBC","Year: 2011<br />Posts: 245<br />Company: aEkP+4OioynurmBC","Year: 2012<br />Posts: 246<br />Company: aEkP+4OioynurmBC","Year: 2013<br />Posts: 247<br />Company: aEkP+4OioynurmBC","Year: 2014<br />Posts: 248<br />Company: aEkP+4OioynurmBC","Year: 2015<br />Posts: 249<br />Company: aEkP+4OioynurmBC","Year: 2016<br />Posts: 250<br />Company: aEkP+4OioynurmBC","Year: 2017<br />Posts: 251<br />Company: aEkP+4OioynurmBC","Year: 2018<br />Posts: 130<br />Company: aEkP+4OioynurmBC","Year: 2019<br />Posts: 224<br />Company: aEkP+4OioynurmBC","Year: 2020<br />Posts: 252<br />Company: aEkP+4OioynurmBC","Year: 2021<br />Posts: 245<br />Company: aEkP+4OioynurmBC"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(248,118,109,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"aEkP+4OioynurmBC","legendgroup":"aEkP+4OioynurmBC","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[910,1366,890,1148,908,926,903,907,1116,950,1362,922,674,1161,740,898],"x":[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[187,153,188,189,190,191,192,193,194,195,173,196,197,198,199,153],"text":["Year: 2006<br />Posts: 187<br />Company: aiNzXWgjCOErB1d4","Year: 2007<br />Posts: 153<br />Company: aiNzXWgjCOErB1d4","Year: 2008<br />Posts: 188<br />Company: aiNzXWgjCOErB1d4","Year: 2009<br />Posts: 189<br />Company: aiNzXWgjCOErB1d4","Year: 2010<br />Posts: 190<br />Company: aiNzXWgjCOErB1d4","Year: 2011<br />Posts: 191<br />Company: aiNzXWgjCOErB1d4","Year: 2012<br />Posts: 192<br />Company: aiNzXWgjCOErB1d4","Year: 2013<br />Posts: 193<br />Company: aiNzXWgjCOErB1d4","Year: 2014<br />Posts: 194<br />Company: aiNzXWgjCOErB1d4","Year: 2015<br />Posts: 195<br />Company: aiNzXWgjCOErB1d4","Year: 2016<br />Posts: 173<br />Company: aiNzXWgjCOErB1d4","Year: 2017<br />Posts: 196<br />Company: aiNzXWgjCOErB1d4","Year: 2018<br />Posts: 197<br />Company: aiNzXWgjCOErB1d4","Year: 2019<br />Posts: 198<br />Company: aiNzXWgjCOErB1d4","Year: 2020<br />Posts: 199<br />Company: aiNzXWgjCOErB1d4","Year: 2021<br />Posts: 153<br />Company: aiNzXWgjCOErB1d4"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(234,131,49,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"aiNzXWgjCOErB1d4","legendgroup":"aiNzXWgjCOErB1d4","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1740,1882,1931,1999,2228,1872,2013,1838,1872,2086,1779],"x":[5,6,7,8,9,10,11,12,13,14,15],"y":[106,107,108,109,110,111,112,113,114,115,116],"text":["Year: 2005<br />Posts: 106<br />Company: BB4LOer+gNJ9/KiW","Year: 2006<br />Posts: 107<br />Company: BB4LOer+gNJ9/KiW","Year: 2007<br />Posts: 108<br />Company: BB4LOer+gNJ9/KiW","Year: 2008<br />Posts: 109<br />Company: BB4LOer+gNJ9/KiW","Year: 2009<br />Posts: 110<br />Company: BB4LOer+gNJ9/KiW","Year: 2010<br />Posts: 111<br />Company: BB4LOer+gNJ9/KiW","Year: 2011<br />Posts: 112<br />Company: BB4LOer+gNJ9/KiW","Year: 2012<br />Posts: 113<br />Company: BB4LOer+gNJ9/KiW","Year: 2013<br />Posts: 114<br />Company: BB4LOer+gNJ9/KiW","Year: 2014<br />Posts: 115<br />Company: BB4LOer+gNJ9/KiW","Year: 2015<br />Posts: 116<br />Company: BB4LOer+gNJ9/KiW"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(216,144,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"BB4LOer+gNJ9/KiW","legendgroup":"BB4LOer+gNJ9/KiW","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[654,0,0,2276,0,0,0,1428,2164,911,0,0,2058,1623,0,0,712],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[179,253,254,72,255,256,257,144,68,205,258,259,73,128,260,261,186],"text":["Year: 2005<br />Posts: 179<br />Company: bdLAwCNRw3sid85Y","Year: 2006<br />Posts: 253<br />Company: bdLAwCNRw3sid85Y","Year: 2007<br />Posts: 254<br />Company: bdLAwCNRw3sid85Y","Year: 2008<br />Posts: 72<br />Company: bdLAwCNRw3sid85Y","Year: 2009<br />Posts: 255<br />Company: bdLAwCNRw3sid85Y","Year: 2010<br />Posts: 256<br />Company: bdLAwCNRw3sid85Y","Year: 2011<br />Posts: 257<br />Company: bdLAwCNRw3sid85Y","Year: 2012<br />Posts: 144<br />Company: bdLAwCNRw3sid85Y","Year: 2013<br />Posts: 68<br />Company: bdLAwCNRw3sid85Y","Year: 2014<br />Posts: 205<br />Company: bdLAwCNRw3sid85Y","Year: 2015<br />Posts: 258<br />Company: bdLAwCNRw3sid85Y","Year: 2016<br />Posts: 259<br />Company: bdLAwCNRw3sid85Y","Year: 2017<br />Posts: 73<br />Company: bdLAwCNRw3sid85Y","Year: 2018<br />Posts: 128<br />Company: bdLAwCNRw3sid85Y","Year: 2019<br />Posts: 260<br />Company: bdLAwCNRw3sid85Y","Year: 2020<br />Posts: 261<br />Company: bdLAwCNRw3sid85Y","Year: 2021<br />Posts: 186<br />Company: bdLAwCNRw3sid85Y"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(192,155,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"bdLAwCNRw3sid85Y","legendgroup":"bdLAwCNRw3sid85Y","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1935,2079,2130,2200,2431,2077,2314,2047,2083,2299,2087,2201,1973,1853,2135,1998,1541],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[73,74,75,76,77,78,79,80,81,82,83,84,85,86,74,87,88],"text":["Year: 2005<br />Posts: 73<br />Company: BgA/JMY30UOcCc9d","Year: 2006<br />Posts: 74<br />Company: BgA/JMY30UOcCc9d","Year: 2007<br />Posts: 75<br />Company: BgA/JMY30UOcCc9d","Year: 2008<br />Posts: 76<br />Company: BgA/JMY30UOcCc9d","Year: 2009<br />Posts: 77<br />Company: BgA/JMY30UOcCc9d","Year: 2010<br />Posts: 78<br />Company: BgA/JMY30UOcCc9d","Year: 2011<br />Posts: 79<br />Company: BgA/JMY30UOcCc9d","Year: 2012<br />Posts: 80<br />Company: BgA/JMY30UOcCc9d","Year: 2013<br />Posts: 81<br />Company: BgA/JMY30UOcCc9d","Year: 2014<br />Posts: 82<br />Company: BgA/JMY30UOcCc9d","Year: 2015<br />Posts: 83<br />Company: BgA/JMY30UOcCc9d","Year: 2016<br />Posts: 84<br />Company: BgA/JMY30UOcCc9d","Year: 2017<br />Posts: 85<br />Company: BgA/JMY30UOcCc9d","Year: 2018<br />Posts: 86<br />Company: BgA/JMY30UOcCc9d","Year: 2019<br />Posts: 74<br />Company: BgA/JMY30UOcCc9d","Year: 2020<br />Posts: 87<br />Company: BgA/JMY30UOcCc9d","Year: 2021<br />Posts: 88<br />Company: BgA/JMY30UOcCc9d"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(163,165,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"BgA/JMY30UOcCc9d","legendgroup":"BgA/JMY30UOcCc9d","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[833,1097,695,1078,1337,1098,1758,1276,1487,1145,1177,1118,871,1359],"x":[5,6,7,8,9,10,11,13,14,15,16,17,18,19],"y":[174,179,180,181,182,183,132,169,169,184,185,183,186,169],"text":["Year: 2005<br />Posts: 174<br />Company: cjRDyADNICbNDRku","Year: 2006<br />Posts: 179<br />Company: cjRDyADNICbNDRku","Year: 2007<br />Posts: 180<br />Company: cjRDyADNICbNDRku","Year: 2008<br />Posts: 181<br />Company: cjRDyADNICbNDRku","Year: 2009<br />Posts: 182<br />Company: cjRDyADNICbNDRku","Year: 2010<br />Posts: 183<br />Company: cjRDyADNICbNDRku","Year: 2011<br />Posts: 132<br />Company: cjRDyADNICbNDRku","Year: 2013<br />Posts: 169<br />Company: cjRDyADNICbNDRku","Year: 2014<br />Posts: 169<br />Company: cjRDyADNICbNDRku","Year: 2015<br />Posts: 184<br />Company: cjRDyADNICbNDRku","Year: 2016<br />Posts: 185<br />Company: cjRDyADNICbNDRku","Year: 2017<br />Posts: 183<br />Company: cjRDyADNICbNDRku","Year: 2018<br />Posts: 186<br />Company: cjRDyADNICbNDRku","Year: 2019<br />Posts: 169<br />Company: cjRDyADNICbNDRku"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(124,174,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"cjRDyADNICbNDRku","legendgroup":"cjRDyADNICbNDRku","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[2103,2304,2304,2449,2611,2368,2500,2236,2343,2494,2336,2402,2250,2060,2332,2210,1811],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"text":["Year: 2005<br />Posts: 22<br />Company: CndoK9C6/1lD61e6","Year: 2006<br />Posts: 23<br />Company: CndoK9C6/1lD61e6","Year: 2007<br />Posts: 24<br />Company: CndoK9C6/1lD61e6","Year: 2008<br />Posts: 25<br />Company: CndoK9C6/1lD61e6","Year: 2009<br />Posts: 26<br />Company: CndoK9C6/1lD61e6","Year: 2010<br />Posts: 27<br />Company: CndoK9C6/1lD61e6","Year: 2011<br />Posts: 28<br />Company: CndoK9C6/1lD61e6","Year: 2012<br />Posts: 29<br />Company: CndoK9C6/1lD61e6","Year: 2013<br />Posts: 30<br />Company: CndoK9C6/1lD61e6","Year: 2014<br />Posts: 31<br />Company: CndoK9C6/1lD61e6","Year: 2015<br />Posts: 32<br />Company: CndoK9C6/1lD61e6","Year: 2016<br />Posts: 33<br />Company: CndoK9C6/1lD61e6","Year: 2017<br />Posts: 34<br />Company: CndoK9C6/1lD61e6","Year: 2018<br />Posts: 35<br />Company: CndoK9C6/1lD61e6","Year: 2019<br />Posts: 36<br />Company: CndoK9C6/1lD61e6","Year: 2020<br />Posts: 37<br />Company: CndoK9C6/1lD61e6","Year: 2021<br />Posts: 38<br />Company: CndoK9C6/1lD61e6"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(57,182,0,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"CndoK9C6/1lD61e6","legendgroup":"CndoK9C6/1lD61e6","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1741,1842,1610,1617,1572,1604,1816,1507,1696,1463,1211,1528,1477,1756],"x":[8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[138,139,140,141,142,143,144,145,146,147,148,149,150,55],"text":["Year: 2008<br />Posts: 138<br />Company: crOOB6JBA4q++b4r","Year: 2009<br />Posts: 139<br />Company: crOOB6JBA4q++b4r","Year: 2010<br />Posts: 140<br />Company: crOOB6JBA4q++b4r","Year: 2011<br />Posts: 141<br />Company: crOOB6JBA4q++b4r","Year: 2012<br />Posts: 142<br />Company: crOOB6JBA4q++b4r","Year: 2013<br />Posts: 143<br />Company: crOOB6JBA4q++b4r","Year: 2014<br />Posts: 144<br />Company: crOOB6JBA4q++b4r","Year: 2015<br />Posts: 145<br />Company: crOOB6JBA4q++b4r","Year: 2016<br />Posts: 146<br />Company: crOOB6JBA4q++b4r","Year: 2017<br />Posts: 147<br />Company: crOOB6JBA4q++b4r","Year: 2018<br />Posts: 148<br />Company: crOOB6JBA4q++b4r","Year: 2019<br />Posts: 149<br />Company: crOOB6JBA4q++b4r","Year: 2020<br />Posts: 150<br />Company: crOOB6JBA4q++b4r","Year: 2021<br />Posts: 55<br />Company: crOOB6JBA4q++b4r"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,187,78,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"crOOB6JBA4q++b4r","legendgroup":"crOOB6JBA4q++b4r","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1623,1764,1812,1879,2107,1750,1890,1714,1747,1960,1652,1973,1743,1812,1763,1188],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21],"y":[117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132],"text":["Year: 2005<br />Posts: 117<br />Company: j1hYFt09Up0NogRv","Year: 2006<br />Posts: 118<br />Company: j1hYFt09Up0NogRv","Year: 2007<br />Posts: 119<br />Company: j1hYFt09Up0NogRv","Year: 2008<br />Posts: 120<br />Company: j1hYFt09Up0NogRv","Year: 2009<br />Posts: 121<br />Company: j1hYFt09Up0NogRv","Year: 2010<br />Posts: 122<br />Company: j1hYFt09Up0NogRv","Year: 2011<br />Posts: 123<br />Company: j1hYFt09Up0NogRv","Year: 2012<br />Posts: 124<br />Company: j1hYFt09Up0NogRv","Year: 2013<br />Posts: 125<br />Company: j1hYFt09Up0NogRv","Year: 2014<br />Posts: 126<br />Company: j1hYFt09Up0NogRv","Year: 2015<br />Posts: 127<br />Company: j1hYFt09Up0NogRv","Year: 2016<br />Posts: 128<br />Company: j1hYFt09Up0NogRv","Year: 2017<br />Posts: 129<br />Company: j1hYFt09Up0NogRv","Year: 2019<br />Posts: 130<br />Company: j1hYFt09Up0NogRv","Year: 2020<br />Posts: 131<br />Company: j1hYFt09Up0NogRv","Year: 2021<br />Posts: 132<br />Company: j1hYFt09Up0NogRv"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,191,125,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"j1hYFt09Up0NogRv","legendgroup":"j1hYFt09Up0NogRv","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[240,494,1669,472,728,486,502,477,479,481,2236,744,487,237,498,513,484],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[214,215,143,216,217,218,219,220,221,222,51,223,224,225,226,227,228],"text":["Year: 2005<br />Posts: 214<br />Company: jTqVUw9M/QztQ+n1","Year: 2006<br />Posts: 215<br />Company: jTqVUw9M/QztQ+n1","Year: 2007<br />Posts: 143<br />Company: jTqVUw9M/QztQ+n1","Year: 2008<br />Posts: 216<br />Company: jTqVUw9M/QztQ+n1","Year: 2009<br />Posts: 217<br />Company: jTqVUw9M/QztQ+n1","Year: 2010<br />Posts: 218<br />Company: jTqVUw9M/QztQ+n1","Year: 2011<br />Posts: 219<br />Company: jTqVUw9M/QztQ+n1","Year: 2012<br />Posts: 220<br />Company: jTqVUw9M/QztQ+n1","Year: 2013<br />Posts: 221<br />Company: jTqVUw9M/QztQ+n1","Year: 2014<br />Posts: 222<br />Company: jTqVUw9M/QztQ+n1","Year: 2015<br />Posts: 51<br />Company: jTqVUw9M/QztQ+n1","Year: 2016<br />Posts: 223<br />Company: jTqVUw9M/QztQ+n1","Year: 2017<br />Posts: 224<br />Company: jTqVUw9M/QztQ+n1","Year: 2018<br />Posts: 225<br />Company: jTqVUw9M/QztQ+n1","Year: 2019<br />Posts: 226<br />Company: jTqVUw9M/QztQ+n1","Year: 2020<br />Posts: 227<br />Company: jTqVUw9M/QztQ+n1","Year: 2021<br />Posts: 228<br />Company: jTqVUw9M/QztQ+n1"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,193,163,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"jTqVUw9M/QztQ+n1","legendgroup":"jTqVUw9M/QztQ+n1","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1007,1276,875,1426,1981,1281,1117,1095,1100,1310,1329,1842],"x":[5,6,7,8,9,10,11,12,13,14,15,16],"y":[170,171,172,161,126,173,174,175,176,177,178,131],"text":["Year: 2005<br />Posts: 170<br />Company: JZbPP26ur7VA28eJ","Year: 2006<br />Posts: 171<br />Company: JZbPP26ur7VA28eJ","Year: 2007<br />Posts: 172<br />Company: JZbPP26ur7VA28eJ","Year: 2008<br />Posts: 161<br />Company: JZbPP26ur7VA28eJ","Year: 2009<br />Posts: 126<br />Company: JZbPP26ur7VA28eJ","Year: 2010<br />Posts: 173<br />Company: JZbPP26ur7VA28eJ","Year: 2011<br />Posts: 174<br />Company: JZbPP26ur7VA28eJ","Year: 2012<br />Posts: 175<br />Company: JZbPP26ur7VA28eJ","Year: 2013<br />Posts: 176<br />Company: JZbPP26ur7VA28eJ","Year: 2014<br />Posts: 177<br />Company: JZbPP26ur7VA28eJ","Year: 2015<br />Posts: 178<br />Company: JZbPP26ur7VA28eJ","Year: 2016<br />Posts: 131<br />Company: JZbPP26ur7VA28eJ"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,191,196,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"JZbPP26ur7VA28eJ","legendgroup":"JZbPP26ur7VA28eJ","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1177,1447,1047,1259,1519,2216,1291],"x":[5,6,7,8,9,10,11],"y":[164,165,166,167,168,55,169],"text":["Year: 2005<br />Posts: 164<br />Company: KueKJRx9AVztBx+F","Year: 2006<br />Posts: 165<br />Company: KueKJRx9AVztBx+F","Year: 2007<br />Posts: 166<br />Company: KueKJRx9AVztBx+F","Year: 2008<br />Posts: 167<br />Company: KueKJRx9AVztBx+F","Year: 2009<br />Posts: 168<br />Company: KueKJRx9AVztBx+F","Year: 2010<br />Posts: 55<br />Company: KueKJRx9AVztBx+F","Year: 2011<br />Posts: 169<br />Company: KueKJRx9AVztBx+F"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,186,224,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"KueKJRx9AVztBx+F","legendgroup":"KueKJRx9AVztBx+F","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1610,1359,1677,1627,1051],"x":[17,18,19,20,21],"y":[133,134,135,136,137],"text":["Year: 2017<br />Posts: 133<br />Company: KxDnWEnYS/96EuZn","Year: 2018<br />Posts: 134<br />Company: KxDnWEnYS/96EuZn","Year: 2019<br />Posts: 135<br />Company: KxDnWEnYS/96EuZn","Year: 2020<br />Posts: 136<br />Company: KxDnWEnYS/96EuZn","Year: 2021<br />Posts: 137<br />Company: KxDnWEnYS/96EuZn"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(0,176,246,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"KxDnWEnYS/96EuZn","legendgroup":"KxDnWEnYS/96EuZn","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[2008,2153,2205,2348,2508,2155,2393,2127,2232,2381,2170,2285,2131,1939,2209,2085,1629],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72],"text":["Year: 2005<br />Posts: 56<br />Company: LPTzD+UbTTh1FSs0","Year: 2006<br />Posts: 57<br />Company: LPTzD+UbTTh1FSs0","Year: 2007<br />Posts: 58<br />Company: LPTzD+UbTTh1FSs0","Year: 2008<br />Posts: 59<br />Company: LPTzD+UbTTh1FSs0","Year: 2009<br />Posts: 60<br />Company: LPTzD+UbTTh1FSs0","Year: 2010<br />Posts: 61<br />Company: LPTzD+UbTTh1FSs0","Year: 2011<br />Posts: 62<br />Company: LPTzD+UbTTh1FSs0","Year: 2012<br />Posts: 63<br />Company: LPTzD+UbTTh1FSs0","Year: 2013<br />Posts: 64<br />Company: LPTzD+UbTTh1FSs0","Year: 2014<br />Posts: 65<br />Company: LPTzD+UbTTh1FSs0","Year: 2015<br />Posts: 66<br />Company: LPTzD+UbTTh1FSs0","Year: 2016<br />Posts: 67<br />Company: LPTzD+UbTTh1FSs0","Year: 2017<br />Posts: 68<br />Company: LPTzD+UbTTh1FSs0","Year: 2018<br />Posts: 69<br />Company: LPTzD+UbTTh1FSs0","Year: 2019<br />Posts: 70<br />Company: LPTzD+UbTTh1FSs0","Year: 2020<br />Posts: 71<br />Company: LPTzD+UbTTh1FSs0","Year: 2021<br />Posts: 72<br />Company: LPTzD+UbTTh1FSs0"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(53,162,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"LPTzD+UbTTh1FSs0","legendgroup":"LPTzD+UbTTh1FSs0","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1341,1612,1213,1587,1687,1454,1460,1270,1445,1656,1994,1535,1301,1057,2045,1314,1320],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[151,152,153,154,155,156,157,158,159,160,93,161,162,154,90,163,116],"text":["Year: 2005<br />Posts: 151<br />Company: MZfjf0yYxmWSxABx","Year: 2006<br />Posts: 152<br />Company: MZfjf0yYxmWSxABx","Year: 2007<br />Posts: 153<br />Company: MZfjf0yYxmWSxABx","Year: 2008<br />Posts: 154<br />Company: MZfjf0yYxmWSxABx","Year: 2009<br />Posts: 155<br />Company: MZfjf0yYxmWSxABx","Year: 2010<br />Posts: 156<br />Company: MZfjf0yYxmWSxABx","Year: 2011<br />Posts: 157<br />Company: MZfjf0yYxmWSxABx","Year: 2012<br />Posts: 158<br />Company: MZfjf0yYxmWSxABx","Year: 2013<br />Posts: 159<br />Company: MZfjf0yYxmWSxABx","Year: 2014<br />Posts: 160<br />Company: MZfjf0yYxmWSxABx","Year: 2015<br />Posts: 93<br />Company: MZfjf0yYxmWSxABx","Year: 2016<br />Posts: 161<br />Company: MZfjf0yYxmWSxABx","Year: 2017<br />Posts: 162<br />Company: MZfjf0yYxmWSxABx","Year: 2018<br />Posts: 154<br />Company: MZfjf0yYxmWSxABx","Year: 2019<br />Posts: 90<br />Company: MZfjf0yYxmWSxABx","Year: 2020<br />Posts: 163<br />Company: MZfjf0yYxmWSxABx","Year: 2021<br />Posts: 116<br />Company: MZfjf0yYxmWSxABx"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(149,144,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"MZfjf0yYxmWSxABx","legendgroup":"MZfjf0yYxmWSxABx","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1492,2210,1519,243,499,256,2220,246,247,248,507,509,251,0,260,1127,245],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[131,54,150,229,229,230,94,231,232,233,234,235,236,237,238,187,239],"text":["Year: 2005<br />Posts: 131<br />Company: OJlfd/wUk6mk3+nc","Year: 2006<br />Posts: 54<br />Company: OJlfd/wUk6mk3+nc","Year: 2007<br />Posts: 150<br />Company: OJlfd/wUk6mk3+nc","Year: 2008<br />Posts: 229<br />Company: OJlfd/wUk6mk3+nc","Year: 2009<br />Posts: 229<br />Company: OJlfd/wUk6mk3+nc","Year: 2010<br />Posts: 230<br />Company: OJlfd/wUk6mk3+nc","Year: 2011<br />Posts: 94<br />Company: OJlfd/wUk6mk3+nc","Year: 2012<br />Posts: 231<br />Company: OJlfd/wUk6mk3+nc","Year: 2013<br />Posts: 232<br />Company: OJlfd/wUk6mk3+nc","Year: 2014<br />Posts: 233<br />Company: OJlfd/wUk6mk3+nc","Year: 2015<br />Posts: 234<br />Company: OJlfd/wUk6mk3+nc","Year: 2016<br />Posts: 235<br />Company: OJlfd/wUk6mk3+nc","Year: 2017<br />Posts: 236<br />Company: OJlfd/wUk6mk3+nc","Year: 2018<br />Posts: 237<br />Company: OJlfd/wUk6mk3+nc","Year: 2019<br />Posts: 238<br />Company: OJlfd/wUk6mk3+nc","Year: 2020<br />Posts: 187<br />Company: OJlfd/wUk6mk3+nc","Year: 2021<br />Posts: 239<br />Company: OJlfd/wUk6mk3+nc"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(199,124,255,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"OJlfd/wUk6mk3+nc","legendgroup":"OJlfd/wUk6mk3+nc","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[454,709,496,688,945,704,721,697,700,703,741,967,711,462,948,939],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"y":[200,201,199,202,203,204,205,206,207,208,209,210,211,212,213,188],"text":["Year: 2005<br />Posts: 200<br />Company: PiFfHi2G7EPV5urp","Year: 2006<br />Posts: 201<br />Company: PiFfHi2G7EPV5urp","Year: 2007<br />Posts: 199<br />Company: PiFfHi2G7EPV5urp","Year: 2008<br />Posts: 202<br />Company: PiFfHi2G7EPV5urp","Year: 2009<br />Posts: 203<br />Company: PiFfHi2G7EPV5urp","Year: 2010<br />Posts: 204<br />Company: PiFfHi2G7EPV5urp","Year: 2011<br />Posts: 205<br />Company: PiFfHi2G7EPV5urp","Year: 2012<br />Posts: 206<br />Company: PiFfHi2G7EPV5urp","Year: 2013<br />Posts: 207<br />Company: PiFfHi2G7EPV5urp","Year: 2014<br />Posts: 208<br />Company: PiFfHi2G7EPV5urp","Year: 2015<br />Posts: 209<br />Company: PiFfHi2G7EPV5urp","Year: 2016<br />Posts: 210<br />Company: PiFfHi2G7EPV5urp","Year: 2017<br />Posts: 211<br />Company: PiFfHi2G7EPV5urp","Year: 2018<br />Posts: 212<br />Company: PiFfHi2G7EPV5urp","Year: 2019<br />Posts: 213<br />Company: PiFfHi2G7EPV5urp","Year: 2020<br />Posts: 188<br />Company: PiFfHi2G7EPV5urp"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(231,107,243,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"PiFfHi2G7EPV5urp","legendgroup":"PiFfHi2G7EPV5urp","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[0,0,0,0,2125,2327,2328,2474,2637,2395,2528,2265,2373,2525,2368,2435,2284,2095,2368,2247,1849],"x":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"text":["Year: 2001<br />Posts: 1<br />Company: pqjERi9HOQqCW4QI","Year: 2002<br />Posts: 2<br />Company: pqjERi9HOQqCW4QI","Year: 2003<br />Posts: 3<br />Company: pqjERi9HOQqCW4QI","Year: 2004<br />Posts: 4<br />Company: pqjERi9HOQqCW4QI","Year: 2005<br />Posts: 5<br />Company: pqjERi9HOQqCW4QI","Year: 2006<br />Posts: 6<br />Company: pqjERi9HOQqCW4QI","Year: 2007<br />Posts: 7<br />Company: pqjERi9HOQqCW4QI","Year: 2008<br />Posts: 8<br />Company: pqjERi9HOQqCW4QI","Year: 2009<br />Posts: 9<br />Company: pqjERi9HOQqCW4QI","Year: 2010<br />Posts: 10<br />Company: pqjERi9HOQqCW4QI","Year: 2011<br />Posts: 11<br />Company: pqjERi9HOQqCW4QI","Year: 2012<br />Posts: 12<br />Company: pqjERi9HOQqCW4QI","Year: 2013<br />Posts: 13<br />Company: pqjERi9HOQqCW4QI","Year: 2014<br />Posts: 14<br />Company: pqjERi9HOQqCW4QI","Year: 2015<br />Posts: 15<br />Company: pqjERi9HOQqCW4QI","Year: 2016<br />Posts: 16<br />Company: pqjERi9HOQqCW4QI","Year: 2017<br />Posts: 17<br />Company: pqjERi9HOQqCW4QI","Year: 2018<br />Posts: 18<br />Company: pqjERi9HOQqCW4QI","Year: 2019<br />Posts: 19<br />Company: pqjERi9HOQqCW4QI","Year: 2020<br />Posts: 20<br />Company: pqjERi9HOQqCW4QI","Year: 2021<br />Posts: 21<br />Company: pqjERi9HOQqCW4QI"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(250,98,219,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"pqjERi9HOQqCW4QI","legendgroup":"pqjERi9HOQqCW4QI","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[2064,2264,2263,2407,2568,2324,2455,2190,2296,2446,2287,2352,2199,2008,2279,2156,1701],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],"text":["Year: 2005<br />Posts: 39<br />Company: pUGnQYcn9uHQtqBw","Year: 2006<br />Posts: 40<br />Company: pUGnQYcn9uHQtqBw","Year: 2007<br />Posts: 41<br />Company: pUGnQYcn9uHQtqBw","Year: 2008<br />Posts: 42<br />Company: pUGnQYcn9uHQtqBw","Year: 2009<br />Posts: 43<br />Company: pUGnQYcn9uHQtqBw","Year: 2010<br />Posts: 44<br />Company: pUGnQYcn9uHQtqBw","Year: 2011<br />Posts: 45<br />Company: pUGnQYcn9uHQtqBw","Year: 2012<br />Posts: 46<br />Company: pUGnQYcn9uHQtqBw","Year: 2013<br />Posts: 47<br />Company: pUGnQYcn9uHQtqBw","Year: 2014<br />Posts: 48<br />Company: pUGnQYcn9uHQtqBw","Year: 2015<br />Posts: 49<br />Company: pUGnQYcn9uHQtqBw","Year: 2016<br />Posts: 50<br />Company: pUGnQYcn9uHQtqBw","Year: 2017<br />Posts: 51<br />Company: pUGnQYcn9uHQtqBw","Year: 2018<br />Posts: 52<br />Company: pUGnQYcn9uHQtqBw","Year: 2019<br />Posts: 53<br />Company: pUGnQYcn9uHQtqBw","Year: 2020<br />Posts: 54<br />Company: pUGnQYcn9uHQtqBw","Year: 2021<br />Posts: 55<br />Company: pUGnQYcn9uHQtqBw"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(255,98,188,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"pUGnQYcn9uHQtqBw","legendgroup":"pUGnQYcn9uHQtqBw","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"orientation":"v","width":[0.9,0.9,0.9,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999,0.899999999999999],"base":[1846,1989,2039,2108,2338,1983,2125,1951,1986,2201,1895,2101,1872,1751,1942,1894,1436],"x":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"y":[89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105],"text":["Year: 2005<br />Posts: 89<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2006<br />Posts: 90<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2007<br />Posts: 91<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2008<br />Posts: 92<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2009<br />Posts: 93<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2010<br />Posts: 94<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2011<br />Posts: 95<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2012<br />Posts: 96<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2013<br />Posts: 97<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2014<br />Posts: 98<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2015<br />Posts: 99<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2016<br />Posts: 100<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2017<br />Posts: 101<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2018<br />Posts: 102<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2019<br />Posts: 103<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2020<br />Posts: 104<br />Company: qGcq7Y+zBP6QwLhZ","Year: 2021<br />Posts: 105<br />Company: qGcq7Y+zBP6QwLhZ"],"type":"bar","marker":{"autocolorscale":false,"color":"rgba(255,106,152,1)","line":{"width":1.88976377952756,"color":"transparent"}},"name":"qGcq7Y+zBP6QwLhZ","legendgroup":"qGcq7Y+zBP6QwLhZ","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null}],"layout":{"margin":{"t":43.7625570776256,"r":7.30593607305936,"b":37.7916147779162,"l":54.7945205479452},"font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"title":{"text":"Top 20 Companies involved in Eclipse mailing lists across years","font":{"color":"rgba(0,0,0,1)","family":"","size":17.5342465753425},"x":0,"xref":"paper"},"xaxis":{"domain":[0,1],"automargin":true,"type":"linear","autorange":false,"range":[0.4,21.6],"tickmode":"array","ticktext":["2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020","2021"],"tickvals":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"categoryorder":"array","categoryarray":["2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020","2021"],"nticks":null,"ticks":"","tickcolor":null,"ticklen":3.65296803652968,"tickwidth":0,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":9.29846409298464},"tickangle":-60,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"y","title":{"text":"Years","font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187}},"hoverformat":".2f"},"yaxis":{"domain":[0,1],"automargin":true,"type":"linear","autorange":false,"range":[0,2646],"tickmode":"array","ticktext":["1113","6891","14669","18032","6054","4276","3948","6572","5193","7471","10811","10877","7950","8953","12068","15242","15170","11507","8451","3775","1102","1231","2950","3974","6396","9173","8980","8010","8491","7809","6809","6190","6614","4640","5863","5796","6522","2746","3884","6803","7044","7248","4894","3608","3355","1414","858","579","440","265","143","186","52","34","8","1668","4093","4818","3827","2341","2301","2133","2053","2009","1371","1202","772","362","410","541","883","382","97","789","1081","2332","2358","2759","1930","1230","857","403","431","124","235","1015","1058","344","27","133","245","191","460","353","787","835","986","683","926","1479","1663","2297","1783","2656","971","1634","5479","3126","436","225","165","104","71","83","75","31","95","1206","1445","2604","1216","618","897","510","427","230","268","119","72","9","2","4","881","2675","2274","2559","1109","63","1824","853","509","409","450","351","371","289","319","183","126","57","32","79","142","222","323","671","1129","734","606","340","247","195","117","753","2668","1037","568","176","1","634","1029","815","54","19","251","514","540","597","23","486","2140","2052","3","18","11","7","12","220","273","922","715","631","254","330","111","264","312","98","226","211","223","201","153","179","210","207","224","267","372","538","590","461","308","228","250","764","885","629","380","238","92","70","87","45","89","40","56","67","194","472","329","429","520","636","718","304","120","105","14","694","1482","798","425","100","25","24","33","35","41","112","61","102","192","355","451","493","458","170","172","151","26"],"tickvals":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261],"categoryorder":"array","categoryarray":["1113","6891","14669","18032","6054","4276","3948","6572","5193","7471","10811","10877","7950","8953","12068","15242","15170","11507","8451","3775","1102","1231","2950","3974","6396","9173","8980","8010","8491","7809","6809","6190","6614","4640","5863","5796","6522","2746","3884","6803","7044","7248","4894","3608","3355","1414","858","579","440","265","143","186","52","34","8","1668","4093","4818","3827","2341","2301","2133","2053","2009","1371","1202","772","362","410","541","883","382","97","789","1081","2332","2358","2759","1930","1230","857","403","431","124","235","1015","1058","344","27","133","245","191","460","353","787","835","986","683","926","1479","1663","2297","1783","2656","971","1634","5479","3126","436","225","165","104","71","83","75","31","95","1206","1445","2604","1216","618","897","510","427","230","268","119","72","9","2","4","881","2675","2274","2559","1109","63","1824","853","509","409","450","351","371","289","319","183","126","57","32","79","142","222","323","671","1129","734","606","340","247","195","117","753","2668","1037","568","176","1","634","1029","815","54","19","251","514","540","597","23","486","2140","2052","3","18","11","7","12","220","273","922","715","631","254","330","111","264","312","98","226","211","223","201","153","179","210","207","224","267","372","538","590","461","308","228","250","764","885","629","380","238","92","70","87","45","89","40","56","67","194","472","329","429","520","636","718","304","120","105","14","694","1482","798","425","100","25","24","33","35","41","112","61","102","192","355","451","493","458","170","172","151","26"],"nticks":null,"ticks":"","tickcolor":null,"ticklen":3.65296803652968,"tickwidth":0,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.689497716895},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(235,235,235,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"x","title":{"text":"Number of posts","font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187}},"hoverformat":".2f"},"shapes":[{"type":"rect","fillcolor":null,"line":{"color":null,"width":0,"linetype":[]},"yref":"paper","xref":"paper","x0":0,"x1":1,"y0":0,"y1":1}],"showlegend":true,"legend":{"bgcolor":null,"bordercolor":null,"borderwidth":0,"font":{"color":"rgba(0,0,0,1)","family":"","size":11.689497716895},"y":0.96751968503937},"annotations":[{"text":"Company","x":1.02,"y":1,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"left","yanchor":"bottom","legendTitle":true}],"hovermode":"closest","barmode":"relative"},"config":{"doubleClick":"reset","showSendToCloud":false},"source":"A","attrs":{"3fdf649d4ef5":{"x":{},"y":{},"fill":{},"type":"bar"}},"cur_data":"3fdf649d4ef5","visdat":{"3fdf649d4ef5":["function (y) ","x"]},"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.2,"selected":{"opacity":1},"debounce":0},"shinyEvents":["plotly_hover","plotly_click","plotly_selected","plotly_relayout","plotly_brushed","plotly_brushing","plotly_clickannotation","plotly_doubleclick","plotly_deselect","plotly_afterplot","plotly_sunburstclick"],"base_url":"https://plot.ly"},"evals":[],"jsHooks":[]}</script>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-r" data-lang="r"><span style="color:#75715e">#api_create(g, filename = &#34;r-eclipse_mls_companies&#34;)</span>
</code></pre></div>
</div>
<footer class='entry-footer'>
<div class='container sep-before'>
</div>
</footer>
</article>
</main>
<footer id='footer' class='footer'>
<div class='container sep-before'><div class="row">
<div class="column">
<a href="http://www.eclipse.org/" target="_blank"><img src="/dataeggs/images/logo-eclipse-foundation.png" alt="Eclipse Foundation logo"></a>
</div>
<div class="column">
<p></p>
<p id="copyright">Copyright © 2021 Eclipse Foundation, Inc.<br>All Rights Reserved.</p>
</div>
</div>
<div class="row">
<p><a href="http://www.eclipse.org/legal/privacy.php" target="_blank">Privacy Policy</a> /
<a href="http://eclipse.org/" target="_blank">Eclipse</a> /
<a href="http://www.eclipse.org/legal/termsofuse.php" target="_blank">Terms of Use</a> /
<a href="http://www.eclipse.org/legal/copyright.php" target="_blank">Copyright Agent</a> /
<a href="http://www.eclipse.org/legal/" target="_blank">Legal</a> /
<a href="http://www.eclipse.org/org/foundation/contact.php" target="_blank"> Contact Us</a></p>
</div>
</div>
</footer>
</div>
</div><script>window.__assets_js_src="/dataeggs/assets/js/"</script>
<script src='/dataeggs/assets/js/main.c3bcf2df.js'></script><script src='/dataeggs/js/custom.js'></script>
</body>
</html>