Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save incidunt/1d6ed39db0181a58edfc24831ea3ef96 to your computer and use it in GitHub Desktop.
Save incidunt/1d6ed39db0181a58edfc24831ea3ef96 to your computer and use it in GitHub Desktop.
用python分析wordpress官网所有插件的开发者信息
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# 首先引入所有需要用的库\n",
"\n",
"#读取jsonl文件的库\n",
"import jsonlines\n",
"\n",
"# 数据分析的库\n",
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"# 数据可视化的库\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"author_list=[]\n",
"\n",
"with jsonlines.open('../output.jsonl') as reader:\n",
" for obj in reader:\n",
" for k in list(obj.keys()):\n",
" if k not in [\"author\",\"added\"]:\n",
" del obj[k] #删除所有不需要的key\n",
" author_list.append(obj)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"author_df = pd.DataFrame(data=author_list)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>added</th>\n",
" <th>author</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>5255</th>\n",
" <td>2004-12-10</td>\n",
" <td>&lt;a href=\"http://photomatt.net/\"&gt;Matt Mullenweg...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41407</th>\n",
" <td>2004-12-10</td>\n",
" <td>&lt;a href=\"http://dougal.gunters.org/\"&gt;Dougal Ca...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33404</th>\n",
" <td>2004-12-11</td>\n",
" <td>&lt;a href=\"http://www.sebbi.de\"&gt;Sebastian Herp&lt;/a&gt;</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33774</th>\n",
" <td>2004-12-11</td>\n",
" <td>&lt;a href=\"http://blog.carthik.net\"&gt;Carthik Shar...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51764</th>\n",
" <td>2004-12-13</td>\n",
" <td>&lt;a href=\"http://www.alexking.org/\"&gt;Alex King&lt;/a&gt;</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47863</th>\n",
" <td>2004-12-13</td>\n",
" <td>&lt;a href=\"http://crowdfavorite.com\"&gt;Crowd Favor...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49886</th>\n",
" <td>2004-12-13</td>\n",
" <td>&lt;a href=\"http://alexking.org\"&gt;Alex King&lt;/a&gt;</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21691</th>\n",
" <td>2004-12-14</td>\n",
" <td>&lt;a href=\"http://noprerequisite.com/\"&gt;Jason&lt;/a&gt;</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16833</th>\n",
" <td>2004-12-17</td>\n",
" <td>Ryan Boren</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41733</th>\n",
" <td>2004-12-17</td>\n",
" <td>&lt;a href=\"http://ryan.boren.me/\"&gt;Ryan Boren&lt;/a&gt;</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33043</th>\n",
" <td>2004-12-21</td>\n",
" <td>&lt;a href=\"http://coffee2code.com/\"&gt;Scott Reilly...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13136</th>\n",
" <td>2004-12-21</td>\n",
" <td>&lt;a href=\"http://coffee2code.com\"&gt;Scott Reilly&lt;/a&gt;</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19521</th>\n",
" <td>2004-12-21</td>\n",
" <td>&lt;a href=\"http://www.coffee2code.com\"&gt;Scott Rei...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8649</th>\n",
" <td>2004-12-21</td>\n",
" <td>&lt;a href=\"http://chrisjdavis.org/\"&gt;Chris J. Dav...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33153</th>\n",
" <td>2004-12-21</td>\n",
" <td>&lt;a href=\"http://chrisjdavis.org\"&gt;Chris J. Davi...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2587</th>\n",
" <td>2004-12-21</td>\n",
" <td>&lt;a href=\"http://chrisjdavis.org\"&gt;Chris J. Davi...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49911</th>\n",
" <td>2004-12-22</td>\n",
" <td>&lt;a href=\"http://elliottback.com\"&gt;Elliott Back&lt;/a&gt;</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39358</th>\n",
" <td>2004-12-22</td>\n",
" <td>&lt;a href=\"http://blog.mookitty.co.uk\"&gt;Kitten&lt;/a&gt;</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17587</th>\n",
" <td>2004-12-22</td>\n",
" <td>&lt;a href=\"http://www.asymptomatic.net\"&gt;Owen Win...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>53577</th>\n",
" <td>2004-12-23</td>\n",
" <td>majelbstoat</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" added author\n",
"5255 2004-12-10 <a href=\"http://photomatt.net/\">Matt Mullenweg...\n",
"41407 2004-12-10 <a href=\"http://dougal.gunters.org/\">Dougal Ca...\n",
"33404 2004-12-11 <a href=\"http://www.sebbi.de\">Sebastian Herp</a>\n",
"33774 2004-12-11 <a href=\"http://blog.carthik.net\">Carthik Shar...\n",
"51764 2004-12-13 <a href=\"http://www.alexking.org/\">Alex King</a>\n",
"47863 2004-12-13 <a href=\"http://crowdfavorite.com\">Crowd Favor...\n",
"49886 2004-12-13 <a href=\"http://alexking.org\">Alex King</a>\n",
"21691 2004-12-14 <a href=\"http://noprerequisite.com/\">Jason</a>\n",
"16833 2004-12-17 Ryan Boren\n",
"41733 2004-12-17 <a href=\"http://ryan.boren.me/\">Ryan Boren</a>\n",
"33043 2004-12-21 <a href=\"http://coffee2code.com/\">Scott Reilly...\n",
"13136 2004-12-21 <a href=\"http://coffee2code.com\">Scott Reilly</a>\n",
"19521 2004-12-21 <a href=\"http://www.coffee2code.com\">Scott Rei...\n",
"8649 2004-12-21 <a href=\"http://chrisjdavis.org/\">Chris J. Dav...\n",
"33153 2004-12-21 <a href=\"http://chrisjdavis.org\">Chris J. Davi...\n",
"2587 2004-12-21 <a href=\"http://chrisjdavis.org\">Chris J. Davi...\n",
"49911 2004-12-22 <a href=\"http://elliottback.com\">Elliott Back</a>\n",
"39358 2004-12-22 <a href=\"http://blog.mookitty.co.uk\">Kitten</a>\n",
"17587 2004-12-22 <a href=\"http://www.asymptomatic.net\">Owen Win...\n",
"53577 2004-12-23 majelbstoat"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 按添加日期排序,去重,取前20个,这样其实还是有重复的,但是不管了\n",
"author_df.sort_values('added').drop_duplicates().head(20) "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"date_list=[]\n",
"\n",
"with jsonlines.open('../output.jsonl') as reader:\n",
" for obj in reader:\n",
" for k in list(obj.keys()):\n",
" if k not in [\"added\"]:\n",
" del obj[k]\n",
" date_list.append(obj)\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"date_df=pd.DataFrame(date_list)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
" # 直接取文本前4个字符作为年,用pandas.to_datetime整列转换成日期格式也可以\n",
"date_df['year']=date_df['added'].apply(lambda x: x[:4]) "
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# 同上,直接从文本的中间取月份\n",
"date_df[\"month\"]=date_df[\"added\"].apply(lambda x: x[5:7])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# 2019年刚开始,数据还在增长。从汇总里去掉\n",
"date_df=date_df[date_df.year != '2019']"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>added</th>\n",
" <th>year</th>\n",
" <th>month</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2015-01-20</td>\n",
" <td>2015</td>\n",
" <td>01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2018-10-29</td>\n",
" <td>2018</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2012-02-06</td>\n",
" <td>2012</td>\n",
" <td>02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2010-02-01</td>\n",
" <td>2010</td>\n",
" <td>02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2012-06-04</td>\n",
" <td>2012</td>\n",
" <td>06</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" added year month\n",
"0 2015-01-20 2015 01\n",
"1 2018-10-29 2018 10\n",
"2 2012-02-06 2012 02\n",
"3 2010-02-01 2010 02\n",
"4 2012-06-04 2012 06"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"date_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"# 按年汇总\n",
"years=date_df['year'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2016 6758\n",
"2015 6732\n",
"2017 6068\n",
"2014 6045\n",
"2018 5749\n",
"2013 5057\n",
"2012 4662\n",
"2011 4066\n",
"2010 3234\n",
"2009 2687\n",
"2008 1514\n",
"2007 662\n",
"2005 160\n",
"2006 82\n",
"2004 30\n",
"Name: year, dtype: int64"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"years"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1152x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 年度增长的折线图\n",
"plt.figure(figsize=(16,5))\n",
"\n",
"sns.lineplot(years.index, years.values)\n",
"\n",
"plt.title('Numbers of Plugin on wordPress.org every year',fontsize=20)\n",
"plt.ylabel('Number of Plugins', fontsize=16)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"# 把上面的DataFrame转成Excel中数据透视表的形式,用于做热力图\n",
"\n",
"h=date_df.groupby([\"month\",\"year\"]).size().unstack(fill_value=0)\n",
"\n",
"# 或者如下亦可\n",
"# h=date_df.pivot_table(index=\"month\",columns=\"year\", aggfunc=\"count\").fillna(0)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>year</th>\n",
" <th>2004</th>\n",
" <th>2005</th>\n",
" <th>2006</th>\n",
" <th>2007</th>\n",
" <th>2008</th>\n",
" <th>2009</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" <th>2014</th>\n",
" <th>2015</th>\n",
" <th>2016</th>\n",
" <th>2017</th>\n",
" <th>2018</th>\n",
" </tr>\n",
" <tr>\n",
" <th>month</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>01</th>\n",
" <td>0</td>\n",
" <td>47</td>\n",
" <td>18</td>\n",
" <td>13</td>\n",
" <td>67</td>\n",
" <td>206</td>\n",
" <td>254</td>\n",
" <td>308</td>\n",
" <td>413</td>\n",
" <td>395</td>\n",
" <td>516</td>\n",
" <td>529</td>\n",
" <td>502</td>\n",
" <td>541</td>\n",
" <td>481</td>\n",
" </tr>\n",
" <tr>\n",
" <th>02</th>\n",
" <td>0</td>\n",
" <td>11</td>\n",
" <td>10</td>\n",
" <td>8</td>\n",
" <td>105</td>\n",
" <td>220</td>\n",
" <td>256</td>\n",
" <td>332</td>\n",
" <td>397</td>\n",
" <td>354</td>\n",
" <td>496</td>\n",
" <td>490</td>\n",
" <td>517</td>\n",
" <td>549</td>\n",
" <td>471</td>\n",
" </tr>\n",
" <tr>\n",
" <th>03</th>\n",
" <td>0</td>\n",
" <td>18</td>\n",
" <td>6</td>\n",
" <td>74</td>\n",
" <td>104</td>\n",
" <td>251</td>\n",
" <td>278</td>\n",
" <td>308</td>\n",
" <td>339</td>\n",
" <td>370</td>\n",
" <td>489</td>\n",
" <td>562</td>\n",
" <td>626</td>\n",
" <td>494</td>\n",
" <td>505</td>\n",
" </tr>\n",
" <tr>\n",
" <th>04</th>\n",
" <td>0</td>\n",
" <td>19</td>\n",
" <td>13</td>\n",
" <td>50</td>\n",
" <td>194</td>\n",
" <td>214</td>\n",
" <td>328</td>\n",
" <td>294</td>\n",
" <td>387</td>\n",
" <td>505</td>\n",
" <td>490</td>\n",
" <td>567</td>\n",
" <td>575</td>\n",
" <td>504</td>\n",
" <td>462</td>\n",
" </tr>\n",
" <tr>\n",
" <th>05</th>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>1</td>\n",
" <td>57</td>\n",
" <td>110</td>\n",
" <td>196</td>\n",
" <td>268</td>\n",
" <td>332</td>\n",
" <td>385</td>\n",
" <td>435</td>\n",
" <td>552</td>\n",
" <td>537</td>\n",
" <td>712</td>\n",
" <td>566</td>\n",
" <td>486</td>\n",
" </tr>\n",
" <tr>\n",
" <th>06</th>\n",
" <td>0</td>\n",
" <td>18</td>\n",
" <td>1</td>\n",
" <td>41</td>\n",
" <td>118</td>\n",
" <td>251</td>\n",
" <td>230</td>\n",
" <td>301</td>\n",
" <td>414</td>\n",
" <td>357</td>\n",
" <td>502</td>\n",
" <td>513</td>\n",
" <td>581</td>\n",
" <td>524</td>\n",
" <td>474</td>\n",
" </tr>\n",
" <tr>\n",
" <th>07</th>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>0</td>\n",
" <td>29</td>\n",
" <td>100</td>\n",
" <td>251</td>\n",
" <td>269</td>\n",
" <td>408</td>\n",
" <td>400</td>\n",
" <td>408</td>\n",
" <td>522</td>\n",
" <td>624</td>\n",
" <td>484</td>\n",
" <td>514</td>\n",
" <td>485</td>\n",
" </tr>\n",
" <tr>\n",
" <th>08</th>\n",
" <td>0</td>\n",
" <td>9</td>\n",
" <td>0</td>\n",
" <td>62</td>\n",
" <td>118</td>\n",
" <td>215</td>\n",
" <td>336</td>\n",
" <td>404</td>\n",
" <td>419</td>\n",
" <td>459</td>\n",
" <td>435</td>\n",
" <td>599</td>\n",
" <td>613</td>\n",
" <td>479</td>\n",
" <td>489</td>\n",
" </tr>\n",
" <tr>\n",
" <th>09</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>14</td>\n",
" <td>122</td>\n",
" <td>131</td>\n",
" <td>248</td>\n",
" <td>291</td>\n",
" <td>369</td>\n",
" <td>374</td>\n",
" <td>396</td>\n",
" <td>513</td>\n",
" <td>577</td>\n",
" <td>540</td>\n",
" <td>444</td>\n",
" <td>421</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>13</td>\n",
" <td>89</td>\n",
" <td>120</td>\n",
" <td>204</td>\n",
" <td>258</td>\n",
" <td>357</td>\n",
" <td>365</td>\n",
" <td>431</td>\n",
" <td>524</td>\n",
" <td>569</td>\n",
" <td>538</td>\n",
" <td>492</td>\n",
" <td>540</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>0</td>\n",
" <td>9</td>\n",
" <td>5</td>\n",
" <td>40</td>\n",
" <td>165</td>\n",
" <td>218</td>\n",
" <td>248</td>\n",
" <td>326</td>\n",
" <td>401</td>\n",
" <td>481</td>\n",
" <td>501</td>\n",
" <td>584</td>\n",
" <td>581</td>\n",
" <td>514</td>\n",
" <td>479</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>30</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>77</td>\n",
" <td>182</td>\n",
" <td>213</td>\n",
" <td>218</td>\n",
" <td>327</td>\n",
" <td>368</td>\n",
" <td>466</td>\n",
" <td>505</td>\n",
" <td>581</td>\n",
" <td>489</td>\n",
" <td>447</td>\n",
" <td>456</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"year 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 \\\n",
"month \n",
"01 0 47 18 13 67 206 254 308 413 395 516 529 \n",
"02 0 11 10 8 105 220 256 332 397 354 496 490 \n",
"03 0 18 6 74 104 251 278 308 339 370 489 562 \n",
"04 0 19 13 50 194 214 328 294 387 505 490 567 \n",
"05 0 14 1 57 110 196 268 332 385 435 552 537 \n",
"06 0 18 1 41 118 251 230 301 414 357 502 513 \n",
"07 0 10 0 29 100 251 269 408 400 408 522 624 \n",
"08 0 9 0 62 118 215 336 404 419 459 435 599 \n",
"09 0 1 14 122 131 248 291 369 374 396 513 577 \n",
"10 0 2 13 89 120 204 258 357 365 431 524 569 \n",
"11 0 9 5 40 165 218 248 326 401 481 501 584 \n",
"12 30 2 1 77 182 213 218 327 368 466 505 581 \n",
"\n",
"year 2016 2017 2018 \n",
"month \n",
"01 502 541 481 \n",
"02 517 549 471 \n",
"03 626 494 505 \n",
"04 575 504 462 \n",
"05 712 566 486 \n",
"06 581 524 474 \n",
"07 484 514 485 \n",
"08 613 479 489 \n",
"09 540 444 421 \n",
"10 538 492 540 \n",
"11 581 514 479 \n",
"12 489 447 456 "
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"h"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1440x576 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"\n",
"plt.figure(figsize=(20,8))\n",
"ax = sns.heatmap(h)\n",
"ax.set_xlabel(xlabel='Year', fontsize=16)\n",
"ax.set_ylabel(ylabel='Month', fontsize=16)\n",
"ax.set_title(label='how many plugins added to wordpress.org every month', fontsize=20)\n",
"plt.show();\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
@incidunt
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment