|
3 | 3 | { |
4 | 4 | "cell_type": "code", |
5 | 5 | "execution_count": null, |
6 | | - "metadata": { |
7 | | - "collapsed": false |
8 | | - }, |
| 6 | + "metadata": {}, |
9 | 7 | "outputs": [], |
10 | 8 | "source": [ |
11 | 9 | "from imp import reload" |
|
23 | 21 | { |
24 | 22 | "cell_type": "code", |
25 | 23 | "execution_count": null, |
26 | | - "metadata": { |
27 | | - "collapsed": false |
28 | | - }, |
| 24 | + "metadata": {}, |
29 | 25 | "outputs": [], |
30 | 26 | "source": [ |
31 | 27 | "import matplotlib\n", |
|
49 | 45 | { |
50 | 46 | "cell_type": "code", |
51 | 47 | "execution_count": null, |
52 | | - "metadata": { |
53 | | - "collapsed": false |
54 | | - }, |
| 48 | + "metadata": {}, |
55 | 49 | "outputs": [], |
56 | 50 | "source": [ |
57 | 51 | "import matplotlib.backends.backend_webagg_core\n", |
|
78 | 72 | { |
79 | 73 | "cell_type": "code", |
80 | 74 | "execution_count": null, |
81 | | - "metadata": { |
82 | | - "collapsed": false |
83 | | - }, |
| 75 | + "metadata": {}, |
84 | 76 | "outputs": [], |
85 | 77 | "source": [ |
86 | 78 | "plt.plot([3, 2, 1])\n", |
|
99 | 91 | { |
100 | 92 | "cell_type": "code", |
101 | 93 | "execution_count": null, |
102 | | - "metadata": { |
103 | | - "collapsed": false |
104 | | - }, |
| 94 | + "metadata": {}, |
105 | 95 | "outputs": [], |
106 | 96 | "source": [ |
107 | 97 | "print(matplotlib.backends.backend_nbagg.connection_info())" |
|
119 | 109 | { |
120 | 110 | "cell_type": "code", |
121 | 111 | "execution_count": null, |
122 | | - "metadata": { |
123 | | - "collapsed": false |
124 | | - }, |
| 112 | + "metadata": {}, |
125 | 113 | "outputs": [], |
126 | 114 | "source": [ |
127 | | - "plt.close(fig1)" |
| 115 | + "plt.close(fig1)\n", |
| 116 | + "plt.close('all')" |
128 | 117 | ] |
129 | 118 | }, |
130 | 119 | { |
|
140 | 129 | { |
141 | 130 | "cell_type": "code", |
142 | 131 | "execution_count": null, |
143 | | - "metadata": { |
144 | | - "collapsed": false |
145 | | - }, |
| 132 | + "metadata": {}, |
146 | 133 | "outputs": [], |
147 | 134 | "source": [ |
148 | 135 | "plt.plot(range(10))" |
|
160 | 147 | { |
161 | 148 | "cell_type": "code", |
162 | 149 | "execution_count": null, |
163 | | - "metadata": { |
164 | | - "collapsed": false |
165 | | - }, |
| 150 | + "metadata": {}, |
166 | 151 | "outputs": [], |
167 | 152 | "source": [ |
168 | 153 | "print(matplotlib.backends.backend_nbagg.connection_info())" |
|
180 | 165 | { |
181 | 166 | "cell_type": "code", |
182 | 167 | "execution_count": null, |
183 | | - "metadata": { |
184 | | - "collapsed": false |
185 | | - }, |
| 168 | + "metadata": {}, |
186 | 169 | "outputs": [], |
187 | 170 | "source": [ |
188 | 171 | "plt.show()\n", |
|
203 | 186 | { |
204 | 187 | "cell_type": "code", |
205 | 188 | "execution_count": null, |
206 | | - "metadata": { |
207 | | - "collapsed": false |
208 | | - }, |
| 189 | + "metadata": {}, |
209 | 190 | "outputs": [], |
210 | 191 | "source": [ |
211 | 192 | "plt.interactive(True)\n", |
|
223 | 204 | { |
224 | 205 | "cell_type": "code", |
225 | 206 | "execution_count": null, |
226 | | - "metadata": { |
227 | | - "collapsed": false |
228 | | - }, |
| 207 | + "metadata": {}, |
229 | 208 | "outputs": [], |
230 | 209 | "source": [ |
231 | 210 | "plt.plot(range(3))" |
|
241 | 220 | { |
242 | 221 | "cell_type": "code", |
243 | 222 | "execution_count": null, |
244 | | - "metadata": { |
245 | | - "collapsed": false |
246 | | - }, |
| 223 | + "metadata": {}, |
247 | 224 | "outputs": [], |
248 | 225 | "source": [ |
249 | 226 | "print(matplotlib.backends.backend_nbagg.connection_info())" |
|
259 | 236 | { |
260 | 237 | "cell_type": "code", |
261 | 238 | "execution_count": null, |
262 | | - "metadata": { |
263 | | - "collapsed": false |
264 | | - }, |
| 239 | + "metadata": {}, |
265 | 240 | "outputs": [], |
266 | 241 | "source": [ |
267 | 242 | "plt.interactive(False)" |
|
279 | 254 | { |
280 | 255 | "cell_type": "code", |
281 | 256 | "execution_count": null, |
282 | | - "metadata": { |
283 | | - "collapsed": false |
284 | | - }, |
| 257 | + "metadata": {}, |
285 | 258 | "outputs": [], |
286 | 259 | "source": [ |
287 | 260 | "plt.gcf().canvas.manager.reshow()" |
|
310 | 283 | { |
311 | 284 | "cell_type": "code", |
312 | 285 | "execution_count": null, |
313 | | - "metadata": { |
314 | | - "collapsed": false |
315 | | - }, |
| 286 | + "metadata": {}, |
316 | 287 | "outputs": [], |
317 | 288 | "source": [ |
318 | 289 | "fig = plt.figure()\n", |
|
335 | 306 | { |
336 | 307 | "cell_type": "code", |
337 | 308 | "execution_count": null, |
338 | | - "metadata": { |
339 | | - "collapsed": false |
340 | | - }, |
| 309 | + "metadata": {}, |
341 | 310 | "outputs": [], |
342 | 311 | "source": [ |
343 | 312 | "from matplotlib.backends.backend_nbagg import new_figure_manager,show\n", |
|
361 | 330 | { |
362 | 331 | "cell_type": "code", |
363 | 332 | "execution_count": null, |
364 | | - "metadata": { |
365 | | - "collapsed": false |
366 | | - }, |
| 333 | + "metadata": {}, |
367 | 334 | "outputs": [], |
368 | 335 | "source": [ |
369 | 336 | "import matplotlib.animation as animation\n", |
|
384 | 351 | " return line,\n", |
385 | 352 | "\n", |
386 | 353 | "ani = animation.FuncAnimation(fig, animate, np.arange(1, 200), init_func=init,\n", |
387 | | - " interval=32., blit=True)\n", |
| 354 | + " interval=100., blit=True)\n", |
388 | 355 | "plt.show()" |
389 | 356 | ] |
390 | 357 | }, |
|
404 | 371 | { |
405 | 372 | "cell_type": "code", |
406 | 373 | "execution_count": null, |
407 | | - "metadata": { |
408 | | - "collapsed": false |
409 | | - }, |
| 374 | + "metadata": {}, |
410 | 375 | "outputs": [], |
411 | 376 | "source": [ |
412 | 377 | "import matplotlib\n", |
|
430 | 395 | { |
431 | 396 | "cell_type": "code", |
432 | 397 | "execution_count": null, |
433 | | - "metadata": { |
434 | | - "collapsed": false |
435 | | - }, |
| 398 | + "metadata": {}, |
436 | 399 | "outputs": [], |
437 | 400 | "source": [ |
438 | 401 | "import itertools\n", |
|
477 | 440 | { |
478 | 441 | "cell_type": "code", |
479 | 442 | "execution_count": null, |
480 | | - "metadata": { |
481 | | - "collapsed": false |
482 | | - }, |
| 443 | + "metadata": {}, |
483 | 444 | "outputs": [], |
484 | 445 | "source": [ |
485 | 446 | "import time\n", |
|
506 | 467 | { |
507 | 468 | "cell_type": "code", |
508 | 469 | "execution_count": null, |
509 | | - "metadata": { |
510 | | - "collapsed": false |
511 | | - }, |
| 470 | + "metadata": {}, |
512 | 471 | "outputs": [], |
513 | 472 | "source": [ |
514 | 473 | "fig, ax = plt.subplots()\n", |
|
531 | 490 | { |
532 | 491 | "cell_type": "code", |
533 | 492 | "execution_count": null, |
534 | | - "metadata": { |
535 | | - "collapsed": false |
536 | | - }, |
| 493 | + "metadata": {}, |
537 | 494 | "outputs": [], |
538 | 495 | "source": [ |
539 | 496 | "fig, ax = plt.subplots()\n", |
|
549 | 506 | { |
550 | 507 | "cell_type": "code", |
551 | 508 | "execution_count": null, |
552 | | - "metadata": { |
553 | | - "collapsed": false |
554 | | - }, |
| 509 | + "metadata": {}, |
555 | 510 | "outputs": [], |
556 | 511 | "source": [ |
557 | 512 | "fig, ax = plt.subplots()\n", |
|
569 | 524 | "cell_type": "markdown", |
570 | 525 | "metadata": {}, |
571 | 526 | "source": [ |
572 | | - "### UAT17 - stopping figure when removed from DOM\n", |
| 527 | + "### UAT 18 - stopping figure when removed from DOM\n", |
573 | 528 | "\n", |
574 | 529 | "When the div that contains from the figure is removed from the DOM the figure should shut down it's comm, and if the python-side figure has no more active comms, it should destroy the figure. Repeatedly running the cell below should always have the same figure number" |
575 | 530 | ] |
576 | 531 | }, |
577 | 532 | { |
578 | 533 | "cell_type": "code", |
579 | 534 | "execution_count": null, |
580 | | - "metadata": { |
581 | | - "collapsed": false |
582 | | - }, |
| 535 | + "metadata": {}, |
583 | 536 | "outputs": [], |
584 | 537 | "source": [ |
585 | 538 | "fig, ax = plt.subplots()\n", |
|
597 | 550 | { |
598 | 551 | "cell_type": "code", |
599 | 552 | "execution_count": null, |
600 | | - "metadata": { |
601 | | - "collapsed": false |
602 | | - }, |
| 553 | + "metadata": {}, |
603 | 554 | "outputs": [], |
604 | 555 | "source": [ |
605 | 556 | "fig.canvas.manager.reshow()" |
606 | 557 | ] |
607 | 558 | }, |
608 | 559 | { |
609 | | - "cell_type": "code", |
610 | | - "execution_count": null, |
| 560 | + "cell_type": "markdown", |
611 | 561 | "metadata": { |
612 | 562 | "collapsed": true |
613 | 563 | }, |
| 564 | + "source": [ |
| 565 | + "### UAT 19 - Blitting\n", |
| 566 | + "\n", |
| 567 | + "Clicking on the figure should plot a green horizontal line moving up the axes." |
| 568 | + ] |
| 569 | + }, |
| 570 | + { |
| 571 | + "cell_type": "code", |
| 572 | + "execution_count": null, |
| 573 | + "metadata": {}, |
| 574 | + "outputs": [], |
| 575 | + "source": [ |
| 576 | + "import itertools\n", |
| 577 | + "\n", |
| 578 | + "cnt = itertools.count()\n", |
| 579 | + "bg = None\n", |
| 580 | + "\n", |
| 581 | + "def onclick_handle(event):\n", |
| 582 | + " \"\"\"Should draw elevating green line on each mouse click\"\"\"\n", |
| 583 | + " global bg\n", |
| 584 | + " if bg is None:\n", |
| 585 | + " bg = ax.figure.canvas.copy_from_bbox(ax.bbox) \n", |
| 586 | + " ax.figure.canvas.restore_region(bg)\n", |
| 587 | + "\n", |
| 588 | + " cur_y = (next(cnt) % 10) * 0.1\n", |
| 589 | + " ln.set_ydata([cur_y, cur_y])\n", |
| 590 | + " ax.draw_artist(ln)\n", |
| 591 | + " ax.figure.canvas.blit(ax.bbox)\n", |
| 592 | + "\n", |
| 593 | + "fig, ax = plt.subplots()\n", |
| 594 | + "ax.plot([0, 1], [0, 1], 'r')\n", |
| 595 | + "ln, = ax.plot([0, 1], [0, 0], 'g', animated=True)\n", |
| 596 | + "plt.show()\n", |
| 597 | + "ax.figure.canvas.draw()\n", |
| 598 | + "\n", |
| 599 | + "ax.figure.canvas.mpl_connect('button_press_event', onclick_handle)" |
| 600 | + ] |
| 601 | + }, |
| 602 | + { |
| 603 | + "cell_type": "code", |
| 604 | + "execution_count": null, |
| 605 | + "metadata": {}, |
614 | 606 | "outputs": [], |
615 | 607 | "source": [] |
616 | 608 | } |
|
631 | 623 | "name": "python", |
632 | 624 | "nbconvert_exporter": "python", |
633 | 625 | "pygments_lexer": "ipython3", |
634 | | - "version": "3.4.3" |
| 626 | + "version": "3.8.5" |
635 | 627 | } |
636 | 628 | }, |
637 | 629 | "nbformat": 4, |
638 | | - "nbformat_minor": 0 |
| 630 | + "nbformat_minor": 1 |
639 | 631 | } |
0 commit comments