Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0b2959d

Browse files
committed
Initial
Started with sorting algorithms. Created class that generates random integers. It has a function that animates data.
1 parent 5632518 commit 0b2959d

File tree

2 files changed

+209
-0
lines changed

2 files changed

+209
-0
lines changed

‎Sorting Algorithms.ipynb

Lines changed: 209 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": 20,
6+
"metadata": {
7+
"collapsed": true
8+
},
9+
"outputs": [],
10+
"source": [
11+
"import numpy as np\n",
12+
"import pandas as pd\n",
13+
"import random\n",
14+
"import matplotlib.pyplot as plt\n",
15+
"import matplotlib.animation as animation"
16+
]
17+
},
18+
{
19+
"cell_type": "code",
20+
"execution_count": 28,
21+
"metadata": {
22+
"collapsed": true
23+
},
24+
"outputs": [],
25+
"source": [
26+
"class random_nos:\n",
27+
" def __init__(self,size,max_num = 1000):\n",
28+
" self.rand_list = random.sample(range(0,max_num), size)\n",
29+
" self.i = 0\n",
30+
" self.max_num = max_num\n",
31+
" self.size = size\n",
32+
" \n",
33+
" def generate(self):\n",
34+
" self.rand_list = random.sample(range(0,self.max_num), self.size)\n",
35+
" return self.rand_list\n",
36+
" \n",
37+
" def visualize(self):\n",
38+
" length = len(self.rand_list)\n",
39+
" index = np.arange(length)\n",
40+
" color = ['gray']*length\n",
41+
" #color[self.i] = 'blue'\n",
42+
" #color[self.i+1] = 'blue'\n",
43+
" fig = plt.figure()\n",
44+
" plt.bar(index, test.rand_list,color=color)\n",
45+
" plt.xticks(index)\n",
46+
" plt.Figure(figsize=(10,10))\n",
47+
" plt.show()\n",
48+
" #self.i += 1\n",
49+
" \n",
50+
" \n",
51+
"\n",
52+
" \n",
53+
" \n",
54+
" "
55+
]
56+
},
57+
{
58+
"cell_type": "code",
59+
"execution_count": 29,
60+
"metadata": {},
61+
"outputs": [],
62+
"source": [
63+
"test = random_nos(25)"
64+
]
65+
},
66+
{
67+
"cell_type": "code",
68+
"execution_count": 30,
69+
"metadata": {},
70+
"outputs": [
71+
{
72+
"data": {
73+
"image/png": "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\n",
74+
"text/plain": [
75+
"<matplotlib.figure.Figure at 0x28849c7f4a8>"
76+
]
77+
},
78+
"metadata": {},
79+
"output_type": "display_data"
80+
}
81+
],
82+
"source": [
83+
"test.visualize()"
84+
]
85+
},
86+
{
87+
"cell_type": "code",
88+
"execution_count": 31,
89+
"metadata": {
90+
"scrolled": true
91+
},
92+
"outputs": [
93+
{
94+
"name": "stderr",
95+
"output_type": "stream",
96+
"text": [
97+
"C:\\Users\\nickj\\AppData\\Local\\Continuum\\Anaconda3\\envs\\py35\\lib\\site-packages\\matplotlib\\animation.py:1021: UserWarning: MovieWriter pillow unavailable\n",
98+
" warnings.warn(\"MovieWriter %s unavailable\" % writer)\n"
99+
]
100+
}
101+
],
102+
"source": [
103+
"length = 25\n",
104+
"index = np.arange(length)\n",
105+
"\n",
106+
"fig = plt.figure(figsize=(8, 4))\n",
107+
"plt.xticks(index)\n",
108+
"\n",
109+
"test = random_nos(length)\n",
110+
"\n",
111+
"data = []\n",
112+
"colors = []\n",
113+
"titles = []\n",
114+
"\n",
115+
"for i in range(100):\n",
116+
" color = ['gray']*length\n",
117+
" random_int = random.randint(1,length-2)\n",
118+
" color[random_int] = 'blue'\n",
119+
" color[random_int+1] = 'blue'\n",
120+
" colors.append(color)\n",
121+
"\n",
122+
" \n",
123+
" data.append(test.generate())\n",
124+
" titles.append('Step: ' + str(random_int))\n",
125+
"\n",
126+
"\n",
127+
"rects = plt.bar(index, data[0],color=colors[0])\n",
128+
"#ttl = plt.text(10,1050,titles[0])\n",
129+
"\n",
130+
"\n",
131+
"def animate(i):\n",
132+
" #for rect, yi,c,t in zip(rects, data[i],colors[i],titles[i]):\n",
133+
" for rect, yi,c in zip(rects, data[i],colors[i]):\n",
134+
" #for rect, yi in zip(rects, data[i]):\n",
135+
" rect.set_height(yi)\n",
136+
" rect.set_color(c)\n",
137+
" #ttl.set_text(t)\n",
138+
" #plt.draw()\n",
139+
" \n",
140+
" return rects\n",
141+
"\n",
142+
"anim = animation.FuncAnimation(fig, animate, frames=len(data), interval=250,)\n",
143+
"anim.save('bar.mp4', writer='pillow')#, dpi = 100)\n"
144+
]
145+
},
146+
{
147+
"cell_type": "code",
148+
"execution_count": 32,
149+
"metadata": {},
150+
"outputs": [
151+
{
152+
"data": {
153+
"text/html": [
154+
"\n",
155+
" <video alt=\"test\" controls>\n",
156+
" <source src=\"bar.mp4\" type=\"video/mp4\">\n",
157+
" </video>\n"
158+
],
159+
"text/plain": [
160+
"<IPython.core.display.HTML object>"
161+
]
162+
},
163+
"execution_count": 32,
164+
"metadata": {},
165+
"output_type": "execute_result"
166+
}
167+
],
168+
"source": [
169+
"from IPython.display import HTML\n",
170+
"\n",
171+
"HTML(\"\"\"\n",
172+
" <video alt=\"test\" controls>\n",
173+
" <source src=\"bar.mp4\" type=\"video/mp4\">\n",
174+
" </video>\n",
175+
"\"\"\")"
176+
]
177+
},
178+
{
179+
"cell_type": "code",
180+
"execution_count": null,
181+
"metadata": {
182+
"collapsed": true
183+
},
184+
"outputs": [],
185+
"source": []
186+
}
187+
],
188+
"metadata": {
189+
"kernelspec": {
190+
"display_name": "Python 3",
191+
"language": "python",
192+
"name": "python3"
193+
},
194+
"language_info": {
195+
"codemirror_mode": {
196+
"name": "ipython",
197+
"version": 3
198+
},
199+
"file_extension": ".py",
200+
"mimetype": "text/x-python",
201+
"name": "python",
202+
"nbconvert_exporter": "python",
203+
"pygments_lexer": "ipython3",
204+
"version": "3.5.3"
205+
}
206+
},
207+
"nbformat": 4,
208+
"nbformat_minor": 2
209+
}

‎bar.mp4

84.3 KB
Binary file not shown.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /