w2a
This commit is contained in:
parent
fd6976ff61
commit
7a3caa09db
62
_posts/2019-06-16-Graphing-w2a.md
Normal file
62
_posts/2019-06-16-Graphing-w2a.md
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
---
|
||||||
|
layout: post
|
||||||
|
title: "Graphing the relation between wheels and awards for FRC"
|
||||||
|
description: "AKA. Why programmer + reddit + matplotlib is a bad idea."
|
||||||
|
date: 2019-06-16 15:51:00
|
||||||
|
categories: frc
|
||||||
|
---
|
||||||
|
|
||||||
|
I was scrolling through reddit the other day, and came across [this great post](https://www.reddit.com/r/FRC/comments/byzv5q/i_know_what_im_doing/) by u/[MasterQuacks](https://www.reddit.com/user/MasterQuacks/).
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
I thought to myself "ha. Thats funny", and moved on. But that thought had stuck with me.
|
||||||
|
|
||||||
|
So here I am, bored on a sunday afternoon, staring at the matplotlib documentation.
|
||||||
|
|
||||||
|
## My creation
|
||||||
|
In only a few lines of python, I have a program that will (badly) graph the number of awards per wheel for any team, or set of teams.
|
||||||
|
|
||||||
|
As always, feel free to tinker with the code. This one is not published anywhere, so if you want to share it, I would appreciate a mention.
|
||||||
|
|
||||||
|
```python
|
||||||
|
import requests
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
|
class Team:
|
||||||
|
def __init__(self, id, wheels):
|
||||||
|
self.id = id
|
||||||
|
self.wheels = wheels * 2
|
||||||
|
|
||||||
|
### CONFIG ###
|
||||||
|
|
||||||
|
teams = [Team(5024, 3), Team(254, 4), Team(1114, 3), Team(5406, 3), Team(2056, 4)]
|
||||||
|
year = 2019
|
||||||
|
|
||||||
|
##############
|
||||||
|
|
||||||
|
|
||||||
|
for i, team in enumerate(teams):
|
||||||
|
award_data = requests.get("https://www.thebluealliance.com/api/v3/team/frc" + str(team.id) + "/awards/" + str(year), params={"X-TBA-Auth-Key": "mz0VWTNtXTDV8NNOz3dYg9fHOZw8UYek270gynLQ4v9veaaUJEPvJFCZRmte7AUN"}).json()
|
||||||
|
|
||||||
|
awards_count = len(award_data)
|
||||||
|
|
||||||
|
team.w2a = awards_count / team.wheels
|
||||||
|
print(team.id, team.w2a)
|
||||||
|
|
||||||
|
plt.bar(i + 1, team.w2a, tick_label=str(team.id))
|
||||||
|
|
||||||
|
# Plot
|
||||||
|
x_lables = [team.id for team in teams]
|
||||||
|
# plt.set_xticklabels(x_lables)
|
||||||
|
|
||||||
|
with plt.xkcd():
|
||||||
|
plt.title('Awards per wheel')
|
||||||
|
plt.show()
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## The result
|
||||||
|
Here is the resulting image. From left, to right: 5024, 254, 2224, 5406, 2056
|
||||||
|
|
||||||
|

|
@ -79,6 +79,68 @@
|
|||||||
<div class="inner">
|
<div class="inner">
|
||||||
|
|
||||||
|
|
||||||
|
<header class="major">
|
||||||
|
<h1>Graphing the relation between wheels and awards for FRC</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<p>2019-06-16 11:51:00 -0400</p>
|
||||||
|
<p><p>I was scrolling through reddit the other day, and came across <a href="https://www.reddit.com/r/FRC/comments/byzv5q/i_know_what_im_doing/">this great post</a> by u/<a href="https://www.reddit.com/user/MasterQuacks/">MasterQuacks</a>.</p>
|
||||||
|
|
||||||
|
<p><img src="/assets/images/w2ainspo.jpg" alt="My insporation" /></p>
|
||||||
|
|
||||||
|
<p>I thought to myself “ha. Thats funny”, and moved on. But that thought had stuck with me.</p>
|
||||||
|
|
||||||
|
<p>So here I am, bored on a sunday afternoon, staring at the matplotlib documentation.</p>
|
||||||
|
|
||||||
|
<h2 id="my-creation">My creation</h2>
|
||||||
|
<p>In only a few lines of python, I have a program that will (badly) graph the number of awards per wheel for any team, or set of teams.</p>
|
||||||
|
|
||||||
|
<p>As always, feel free to tinker with the code. This one is not published anywhere, so if you want to share it, I would appreciate a mention.</p>
|
||||||
|
|
||||||
|
<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">requests</span>
|
||||||
|
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="n">plt</span>
|
||||||
|
|
||||||
|
<span class="k">class</span> <span class="nc">Team</span><span class="p">:</span>
|
||||||
|
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">id</span><span class="p">,</span> <span class="n">wheels</span><span class="p">):</span>
|
||||||
|
<span class="bp">self</span><span class="o">.</span><span class="nb">id</span> <span class="o">=</span> <span class="nb">id</span>
|
||||||
|
<span class="bp">self</span><span class="o">.</span><span class="n">wheels</span> <span class="o">=</span> <span class="n">wheels</span> <span class="o">*</span> <span class="mi">2</span>
|
||||||
|
|
||||||
|
<span class="c1">### CONFIG ###
|
||||||
|
</span>
|
||||||
|
<span class="n">teams</span> <span class="o">=</span> <span class="p">[</span><span class="n">Team</span><span class="p">(</span><span class="mi">5024</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">Team</span><span class="p">(</span><span class="mi">254</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="n">Team</span><span class="p">(</span><span class="mi">1114</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">Team</span><span class="p">(</span><span class="mi">5406</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">Team</span><span class="p">(</span><span class="mi">2056</span><span class="p">,</span> <span class="mi">4</span><span class="p">)]</span>
|
||||||
|
<span class="n">year</span> <span class="o">=</span> <span class="mi">2019</span>
|
||||||
|
|
||||||
|
<span class="c1">##############
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">team</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">teams</span><span class="p">):</span>
|
||||||
|
<span class="n">award_data</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">"https://www.thebluealliance.com/api/v3/team/frc"</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">team</span><span class="o">.</span><span class="nb">id</span><span class="p">)</span> <span class="o">+</span> <span class="s">"/awards/"</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">year</span><span class="p">),</span> <span class="n">params</span><span class="o">=</span><span class="p">{</span><span class="s">"X-TBA-Auth-Key"</span><span class="p">:</span> <span class="s">"mz0VWTNtXTDV8NNOz3dYg9fHOZw8UYek270gynLQ4v9veaaUJEPvJFCZRmte7AUN"</span><span class="p">})</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
|
||||||
|
|
||||||
|
<span class="n">awards_count</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">award_data</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="n">team</span><span class="o">.</span><span class="n">w2a</span> <span class="o">=</span> <span class="n">awards_count</span> <span class="o">/</span> <span class="n">team</span><span class="o">.</span><span class="n">wheels</span>
|
||||||
|
<span class="k">print</span><span class="p">(</span><span class="n">team</span><span class="o">.</span><span class="nb">id</span><span class="p">,</span> <span class="n">team</span><span class="o">.</span><span class="n">w2a</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="n">plt</span><span class="o">.</span><span class="n">bar</span><span class="p">(</span><span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">team</span><span class="o">.</span><span class="n">w2a</span><span class="p">,</span> <span class="n">tick_label</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">team</span><span class="o">.</span><span class="nb">id</span><span class="p">))</span>
|
||||||
|
|
||||||
|
<span class="c1"># Plot
|
||||||
|
</span><span class="n">x_lables</span> <span class="o">=</span> <span class="p">[</span><span class="n">team</span><span class="o">.</span><span class="nb">id</span> <span class="k">for</span> <span class="n">team</span> <span class="ow">in</span> <span class="n">teams</span><span class="p">]</span>
|
||||||
|
<span class="c1"># plt.set_xticklabels(x_lables)
|
||||||
|
</span>
|
||||||
|
<span class="k">with</span> <span class="n">plt</span><span class="o">.</span><span class="n">xkcd</span><span class="p">():</span>
|
||||||
|
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s">'Awards per wheel'</span><span class="p">)</span>
|
||||||
|
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
||||||
|
|
||||||
|
</code></pre></div></div>
|
||||||
|
|
||||||
|
<h2 id="the-result">The result</h2>
|
||||||
|
<p>Here is the resulting image. From left, to right: 5024, 254, 2224, 5406, 2056</p>
|
||||||
|
|
||||||
|
<p><img src="/assets/images/w2a.png" alt="Thr result" /></p>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<header class="major">
|
<header class="major">
|
||||||
<h1>GitHub's CSS is boring. So I refreshed the design</h1>
|
<h1>GitHub's CSS is boring. So I refreshed the design</h1>
|
||||||
</header>
|
</header>
|
||||||
|
BIN
_site/assets/images/w2a.png
Normal file
BIN
_site/assets/images/w2a.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
_site/assets/images/w2ainspo.jpg
Normal file
BIN
_site/assets/images/w2ainspo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
@ -1,4 +1,56 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.8.5">Jekyll</generator><link href="http://localhost:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2019-06-16T14:17:11-04:00</updated><id>http://localhost:4000/feed.xml</id><title type="html">Evan Pratten</title><subtitle>Computer wizard, student, <a href="https://github.com/frc5024">@frc5024</a> programming team lead, and radio enthusiast.</subtitle><entry><title type="html">GitHub’s CSS is boring. So I refreshed the design</title><link href="http://localhost:4000/css/2019/06/12/Styiling-GitHub.html" rel="alternate" type="text/html" title="GitHub's CSS is boring. So I refreshed the design" /><published>2019-06-12T09:09:00-04:00</published><updated>2019-06-12T09:09:00-04:00</updated><id>http://localhost:4000/css/2019/06/12/Styiling-GitHub</id><content type="html" xml:base="http://localhost:4000/css/2019/06/12/Styiling-GitHub.html"><p>I have been using GitHub since 2017, and have been getting tired of GitHub’s theme. I didn’t need a huge change, just a small refresh. So, to solve this, I whipped out <a href="https://addons.mozilla.org/en-CA/firefox/addon/styl-us/">Stylus</a> and made a nice little CSS file for it.</p>
|
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.8.5">Jekyll</generator><link href="http://localhost:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2019-06-16T16:02:06-04:00</updated><id>http://localhost:4000/feed.xml</id><title type="html">Evan Pratten</title><subtitle>Computer wizard, student, <a href="https://github.com/frc5024">@frc5024</a> programming team lead, and radio enthusiast.</subtitle><entry><title type="html">Graphing the relation between wheels and awards for FRC</title><link href="http://localhost:4000/frc/2019/06/16/Graphing-w2a.html" rel="alternate" type="text/html" title="Graphing the relation between wheels and awards for FRC" /><published>2019-06-16T11:51:00-04:00</published><updated>2019-06-16T11:51:00-04:00</updated><id>http://localhost:4000/frc/2019/06/16/Graphing-w2a</id><content type="html" xml:base="http://localhost:4000/frc/2019/06/16/Graphing-w2a.html"><p>I was scrolling through reddit the other day, and came across <a href="https://www.reddit.com/r/FRC/comments/byzv5q/i_know_what_im_doing/">this great post</a> by u/<a href="https://www.reddit.com/user/MasterQuacks/">MasterQuacks</a>.</p>
|
||||||
|
|
||||||
|
<p><img src="/assets/images/w2ainspo.jpg" alt="My insporation" /></p>
|
||||||
|
|
||||||
|
<p>I thought to myself “ha. Thats funny”, and moved on. But that thought had stuck with me.</p>
|
||||||
|
|
||||||
|
<p>So here I am, bored on a sunday afternoon, staring at the matplotlib documentation.</p>
|
||||||
|
|
||||||
|
<h2 id="my-creation">My creation</h2>
|
||||||
|
<p>In only a few lines of python, I have a program that will (badly) graph the number of awards per wheel for any team, or set of teams.</p>
|
||||||
|
|
||||||
|
<p>As always, feel free to tinker with the code. This one is not published anywhere, so if you want to share it, I would appreciate a mention.</p>
|
||||||
|
|
||||||
|
<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">requests</span>
|
||||||
|
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="n">plt</span>
|
||||||
|
|
||||||
|
<span class="k">class</span> <span class="nc">Team</span><span class="p">:</span>
|
||||||
|
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">id</span><span class="p">,</span> <span class="n">wheels</span><span class="p">):</span>
|
||||||
|
<span class="bp">self</span><span class="o">.</span><span class="nb">id</span> <span class="o">=</span> <span class="nb">id</span>
|
||||||
|
<span class="bp">self</span><span class="o">.</span><span class="n">wheels</span> <span class="o">=</span> <span class="n">wheels</span> <span class="o">*</span> <span class="mi">2</span>
|
||||||
|
|
||||||
|
<span class="c1">### CONFIG ###
|
||||||
|
</span>
|
||||||
|
<span class="n">teams</span> <span class="o">=</span> <span class="p">[</span><span class="n">Team</span><span class="p">(</span><span class="mi">5024</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">Team</span><span class="p">(</span><span class="mi">254</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="n">Team</span><span class="p">(</span><span class="mi">1114</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">Team</span><span class="p">(</span><span class="mi">5406</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">Team</span><span class="p">(</span><span class="mi">2056</span><span class="p">,</span> <span class="mi">4</span><span class="p">)]</span>
|
||||||
|
<span class="n">year</span> <span class="o">=</span> <span class="mi">2019</span>
|
||||||
|
|
||||||
|
<span class="c1">##############
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">team</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">teams</span><span class="p">):</span>
|
||||||
|
<span class="n">award_data</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">"https://www.thebluealliance.com/api/v3/team/frc"</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">team</span><span class="o">.</span><span class="nb">id</span><span class="p">)</span> <span class="o">+</span> <span class="s">"/awards/"</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">year</span><span class="p">),</span> <span class="n">params</span><span class="o">=</span><span class="p">{</span><span class="s">"X-TBA-Auth-Key"</span><span class="p">:</span> <span class="s">"mz0VWTNtXTDV8NNOz3dYg9fHOZw8UYek270gynLQ4v9veaaUJEPvJFCZRmte7AUN"</span><span class="p">})</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
|
||||||
|
|
||||||
|
<span class="n">awards_count</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">award_data</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="n">team</span><span class="o">.</span><span class="n">w2a</span> <span class="o">=</span> <span class="n">awards_count</span> <span class="o">/</span> <span class="n">team</span><span class="o">.</span><span class="n">wheels</span>
|
||||||
|
<span class="k">print</span><span class="p">(</span><span class="n">team</span><span class="o">.</span><span class="nb">id</span><span class="p">,</span> <span class="n">team</span><span class="o">.</span><span class="n">w2a</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="n">plt</span><span class="o">.</span><span class="n">bar</span><span class="p">(</span><span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">team</span><span class="o">.</span><span class="n">w2a</span><span class="p">,</span> <span class="n">tick_label</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">team</span><span class="o">.</span><span class="nb">id</span><span class="p">))</span>
|
||||||
|
|
||||||
|
<span class="c1"># Plot
|
||||||
|
</span><span class="n">x_lables</span> <span class="o">=</span> <span class="p">[</span><span class="n">team</span><span class="o">.</span><span class="nb">id</span> <span class="k">for</span> <span class="n">team</span> <span class="ow">in</span> <span class="n">teams</span><span class="p">]</span>
|
||||||
|
<span class="c1"># plt.set_xticklabels(x_lables)
|
||||||
|
</span>
|
||||||
|
<span class="k">with</span> <span class="n">plt</span><span class="o">.</span><span class="n">xkcd</span><span class="p">():</span>
|
||||||
|
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s">'Awards per wheel'</span><span class="p">)</span>
|
||||||
|
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
||||||
|
|
||||||
|
</code></pre></div></div>
|
||||||
|
|
||||||
|
<h2 id="the-result">The result</h2>
|
||||||
|
<p>Here is the resulting image. From left, to right: 5024, 254, 2224, 5406, 2056</p>
|
||||||
|
|
||||||
|
<p><img src="/assets/images/w2a.png" alt="Thr result" /></p></content><author><name></name></author><summary type="html">I was scrolling through reddit the other day, and came across this great post by u/MasterQuacks.</summary></entry><entry><title type="html">GitHub’s CSS is boring. So I refreshed the design</title><link href="http://localhost:4000/css/2019/06/12/Styiling-GitHub.html" rel="alternate" type="text/html" title="GitHub's CSS is boring. So I refreshed the design" /><published>2019-06-12T09:09:00-04:00</published><updated>2019-06-12T09:09:00-04:00</updated><id>http://localhost:4000/css/2019/06/12/Styiling-GitHub</id><content type="html" xml:base="http://localhost:4000/css/2019/06/12/Styiling-GitHub.html"><p>I have been using GitHub since 2017, and have been getting tired of GitHub’s theme. I didn’t need a huge change, just a small refresh. So, to solve this, I whipped out <a href="https://addons.mozilla.org/en-CA/firefox/addon/styl-us/">Stylus</a> and made a nice little CSS file for it.</p>
|
||||||
|
|
||||||
<h2 id="the-css">The CSS</h2>
|
<h2 id="the-css">The CSS</h2>
|
||||||
<p>Here is the CSS. Feel free to play with it.</p>
|
<p>Here is the CSS. Feel free to play with it.</p>
|
||||||
|
178
_site/frc/2019/06/16/Graphing-w2a.html
Normal file
178
_site/frc/2019/06/16/Graphing-w2a.html
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<!--
|
||||||
|
Forty by HTML5 UP
|
||||||
|
html5up.net | @ajlkn
|
||||||
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
|
-->
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>Evan Pratten</title>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
||||||
|
<!--[if lte IE 8]><script src="/assets/js/ie/html5shiv.js"></script><![endif]-->
|
||||||
|
<link rel="stylesheet" href="/assets/css/main.css" />
|
||||||
|
<!--[if lte IE 9]><link rel="stylesheet" href="/assets/css/ie9.css" /><![endif]-->
|
||||||
|
<!--[if lte IE 8]><link rel="stylesheet" href="/assets/css/ie8.css" /><![endif]-->
|
||||||
|
</head>
|
||||||
|
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<!-- Wrapper -->
|
||||||
|
<div id="wrapper">
|
||||||
|
|
||||||
|
<!-- Header -->
|
||||||
|
<header id="header" >
|
||||||
|
<a href="http://localhost:4000//" class="logo"><strong>Evan Pratten</strong> <span>retrylife</span></a>
|
||||||
|
<nav>
|
||||||
|
<!-- <a href="#menu">Menu</a> -->
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<!-- Menu -->
|
||||||
|
<!-- <nav id="menu">
|
||||||
|
<ul class="links">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li><a href="http://localhost:4000//">Home</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li><a href="http://localhost:4000/all_posts.html">All posts</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<ul class="actions vertical">
|
||||||
|
<li><a href="#" class="button special fit">Get Started</a></li>
|
||||||
|
<li><a href="#" class="button fit">Log In</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav> -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Main -->
|
||||||
|
<div id="main" class="alt">
|
||||||
|
|
||||||
|
<!-- One -->
|
||||||
|
<section id="one">
|
||||||
|
<div class="inner">
|
||||||
|
<header class="major">
|
||||||
|
<h1>Graphing the relation between wheels and awards for FRC</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<p><p>I was scrolling through reddit the other day, and came across <a href="https://www.reddit.com/r/FRC/comments/byzv5q/i_know_what_im_doing/">this great post</a> by u/<a href="https://www.reddit.com/user/MasterQuacks/">MasterQuacks</a>.</p>
|
||||||
|
|
||||||
|
<p><img src="/assets/images/w2ainspo.jpg" alt="My insporation" /></p>
|
||||||
|
|
||||||
|
<p>I thought to myself “ha. Thats funny”, and moved on. But that thought had stuck with me.</p>
|
||||||
|
|
||||||
|
<p>So here I am, bored on a sunday afternoon, staring at the matplotlib documentation.</p>
|
||||||
|
|
||||||
|
<h2 id="my-creation">My creation</h2>
|
||||||
|
<p>In only a few lines of python, I have a program that will (badly) graph the number of awards per wheel for any team, or set of teams.</p>
|
||||||
|
|
||||||
|
<p>As always, feel free to tinker with the code. This one is not published anywhere, so if you want to share it, I would appreciate a mention.</p>
|
||||||
|
|
||||||
|
<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">requests</span>
|
||||||
|
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="n">plt</span>
|
||||||
|
|
||||||
|
<span class="k">class</span> <span class="nc">Team</span><span class="p">:</span>
|
||||||
|
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">id</span><span class="p">,</span> <span class="n">wheels</span><span class="p">):</span>
|
||||||
|
<span class="bp">self</span><span class="o">.</span><span class="nb">id</span> <span class="o">=</span> <span class="nb">id</span>
|
||||||
|
<span class="bp">self</span><span class="o">.</span><span class="n">wheels</span> <span class="o">=</span> <span class="n">wheels</span> <span class="o">*</span> <span class="mi">2</span>
|
||||||
|
|
||||||
|
<span class="c1">### CONFIG ###
|
||||||
|
</span>
|
||||||
|
<span class="n">teams</span> <span class="o">=</span> <span class="p">[</span><span class="n">Team</span><span class="p">(</span><span class="mi">5024</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">Team</span><span class="p">(</span><span class="mi">254</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="n">Team</span><span class="p">(</span><span class="mi">1114</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">Team</span><span class="p">(</span><span class="mi">5406</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">Team</span><span class="p">(</span><span class="mi">2056</span><span class="p">,</span> <span class="mi">4</span><span class="p">)]</span>
|
||||||
|
<span class="n">year</span> <span class="o">=</span> <span class="mi">2019</span>
|
||||||
|
|
||||||
|
<span class="c1">##############
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">team</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">teams</span><span class="p">):</span>
|
||||||
|
<span class="n">award_data</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">"https://www.thebluealliance.com/api/v3/team/frc"</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">team</span><span class="o">.</span><span class="nb">id</span><span class="p">)</span> <span class="o">+</span> <span class="s">"/awards/"</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">year</span><span class="p">),</span> <span class="n">params</span><span class="o">=</span><span class="p">{</span><span class="s">"X-TBA-Auth-Key"</span><span class="p">:</span> <span class="s">"mz0VWTNtXTDV8NNOz3dYg9fHOZw8UYek270gynLQ4v9veaaUJEPvJFCZRmte7AUN"</span><span class="p">})</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
|
||||||
|
|
||||||
|
<span class="n">awards_count</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">award_data</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="n">team</span><span class="o">.</span><span class="n">w2a</span> <span class="o">=</span> <span class="n">awards_count</span> <span class="o">/</span> <span class="n">team</span><span class="o">.</span><span class="n">wheels</span>
|
||||||
|
<span class="k">print</span><span class="p">(</span><span class="n">team</span><span class="o">.</span><span class="nb">id</span><span class="p">,</span> <span class="n">team</span><span class="o">.</span><span class="n">w2a</span><span class="p">)</span>
|
||||||
|
|
||||||
|
<span class="n">plt</span><span class="o">.</span><span class="n">bar</span><span class="p">(</span><span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">team</span><span class="o">.</span><span class="n">w2a</span><span class="p">,</span> <span class="n">tick_label</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">team</span><span class="o">.</span><span class="nb">id</span><span class="p">))</span>
|
||||||
|
|
||||||
|
<span class="c1"># Plot
|
||||||
|
</span><span class="n">x_lables</span> <span class="o">=</span> <span class="p">[</span><span class="n">team</span><span class="o">.</span><span class="nb">id</span> <span class="k">for</span> <span class="n">team</span> <span class="ow">in</span> <span class="n">teams</span><span class="p">]</span>
|
||||||
|
<span class="c1"># plt.set_xticklabels(x_lables)
|
||||||
|
</span>
|
||||||
|
<span class="k">with</span> <span class="n">plt</span><span class="o">.</span><span class="n">xkcd</span><span class="p">():</span>
|
||||||
|
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s">'Awards per wheel'</span><span class="p">)</span>
|
||||||
|
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
||||||
|
|
||||||
|
</code></pre></div></div>
|
||||||
|
|
||||||
|
<h2 id="the-result">The result</h2>
|
||||||
|
<p>Here is the resulting image. From left, to right: 5024, 254, 2224, 5406, 2056</p>
|
||||||
|
|
||||||
|
<p><img src="/assets/images/w2a.png" alt="Thr result" /></p>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Footer -->
|
||||||
|
<footer id="footer">
|
||||||
|
<div class="inner">
|
||||||
|
<ul class="icons">
|
||||||
|
|
||||||
|
<li><a href="https://twitter.com/ewpratten" class="icon alt fa-twitter" target="_blank"><span class="label">Twitter</span></a></li>
|
||||||
|
|
||||||
|
<li><a href="https://gitlab.com/u/ewpratten" class="icon alt fa-gitlab" target="_blank"><span class="label">GitLab</span></a></li>
|
||||||
|
|
||||||
|
<li><a href="https://github.com/ewpratten" class="icon alt fa-github" target="_blank"><span class="label">GitHub</span></a></li>
|
||||||
|
|
||||||
|
|
||||||
|
<li><a href="/feed.xml" class="icon alt fa-rss" target="_blank"><span class="label">RSS</span></a></li>
|
||||||
|
</ul>
|
||||||
|
<ul class="copyright">
|
||||||
|
<li>© Evan Pratten retrylife</li>
|
||||||
|
<li>Design: <a href="https://html5up.net" target="_blank">HTML5 UP</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Scripts -->
|
||||||
|
<script src="http://localhost:4000/%20assets/js/jquery.min.js"></script>
|
||||||
|
<script src="http://localhost:4000/%20assets/js/jquery.scrolly.min.js"></script>
|
||||||
|
<script src="http://localhost:4000/%20assets/js/jquery.scrollex.min.js"></script>
|
||||||
|
<script src="http://localhost:4000/%20assets/js/skel.min.js"></script>
|
||||||
|
<script src="http://localhost:4000/%20assets/js/util.js"></script>
|
||||||
|
<!--[if lte IE 8]><script src="http://localhost:4000/assets/js/ie/respond.min.js"></script><![endif]-->
|
||||||
|
<script src="http://localhost:4000/%20assets/js/main.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -121,6 +121,18 @@
|
|||||||
<section id="one" class="tiles">
|
<section id="one" class="tiles">
|
||||||
|
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<span class="image">
|
||||||
|
<img src="" alt="" />
|
||||||
|
</span>
|
||||||
|
<header class="major">
|
||||||
|
<h3><a href="/frc/2019/06/16/Graphing-w2a.html" class="link">Graphing the relation between wheels and awards for FRC</a></h3>
|
||||||
|
<p>AKA. Why programmer + reddit + matplotlib is a bad idea.</p>
|
||||||
|
</header>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<article>
|
<article>
|
||||||
<span class="image">
|
<span class="image">
|
||||||
<img src="" alt="" />
|
<img src="" alt="" />
|
||||||
|
BIN
assets/images/w2a.png
Normal file
BIN
assets/images/w2a.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
assets/images/w2ainspo.jpg
Normal file
BIN
assets/images/w2ainspo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
Loading…
x
Reference in New Issue
Block a user