|
380 | 380 | }, |
381 | 381 | "source": [ |
382 | 382 | "Aさんの共通テスト?の得点をリストとして定義してみよう\n", |
383 | | - "順番(各科目の名前(ラベル))は、国語,英語,数IA,数IIB,化学,物理,世界史として... " |
| 383 | + "順番(各科目の名前(ラベル))は、国語,英語,数IA,数IIB,化学,物理,世界史,情報として... " |
384 | 384 | ] |
385 | 385 | }, |
386 | 386 | { |
|
391 | 391 | }, |
392 | 392 | "outputs": [], |
393 | 393 | "source": [ |
394 | | - "data = [152, 170, 82, 85, 79, 92, 88]\n", |
395 | | - "label = [\"国語\",\"英語(R+L)\", \"数IA\", \"数IIB\", \"化学\", \"物理\", \"世界史\"]\n", |
| 394 | + "data = [152, 170, 82, 85, 79, 92, 88, 100]\n", |
| 395 | + "label = [\"国語\",\"英語(R+L)\", \"数IA\", \"数IIB\", \"化学\", \"物理\", \"世界史\", \"情報\"]\n", |
396 | 396 | "total = sum(data)\n", |
397 | | - "print(\"合計得点は\", total, \"点で、得点率は\"+str(\"%6.1f\" % (100* total/900))+\"%です\")" |
| 397 | + "print(\"合計得点は\", total, \"/1000 点で、得点率は\"+str(\"%6.1f\" % (100* total/1000))+\"%です\")" |
398 | 398 | ] |
399 | 399 | }, |
400 | 400 | { |
|
430 | 430 | "\n", |
431 | 431 | "* 1行目: ```plt.figure(figsize=(10,2)) ``` \n", |
432 | 432 | "\n", |
433 | | - " > ここでは、`matplotlib.pyplot`内の`figure`という関数を読んでいる。 \n", |
434 | | - " 上で`matplotlib`モジュール内の`pyplot`というモジュールを`plt`という名前でインポートしたので`plt.figure`というのは`pyplot`内の`figure`という関数を使うことを意味する。その役割は、図を描くキャンバスを用意しているようなイメージ。 \n", |
| 433 | + " > 上で`matplotlib`モジュール内の`pyplot`というモジュールを`plt`という名前でインポートしたので`plt.figure`というのは`pyplot`内の`figure`という関数を使うことを意味する。その役割は、図を描くキャンバスを用意しているようなイメージ。 \n", |
435 | 434 | " ここでは```figsize=(10,2)```という引数を指定した(指定しなければ自動で図のサイズが決まる). \n", |
436 | 435 | " figsize=(横,縦)で大きさが指定できるので、figsizeを変えて試してみよう \n", |
437 | 436 | "\n", |
|
583 | 582 | { |
584 | 583 | "cell_type": "markdown", |
585 | 584 | "metadata": {}, |
586 | | - "source": [ |
587 | | - "**凡例について**\n", |
588 | | - "\n", |
589 | | - "上でも少し凡例について触れたが、複数のデータをプロットするときは、それぞれのデータに対して凡例を付けることができる。\n", |
590 | | - "barやplot、以下でやるscatterなどそれぞれのグラフを構成するオブジェクトに対して、`label`という引数を指定することで凡例を付けることができる.\n", |
591 | | - "\n", |
592 | | - "つけた凡例は`plt.legend()`で表示することができる.\n", |
593 | | - "\n", |
594 | | - "凡例を設定することは、図の可読性を向上させるための重要な要素である一方で、\n", |
595 | | - "同じような色や形の凡例が多すぎると、かえって可読性を下げてしまうこともある。\n", |
596 | | - "例えば、散布図で一点ごとに描画してlabelをつけてしまうと、データの数だけ凡例ができてしまう。\n", |
597 | | - "\n", |
598 | | - "最小限の数の凡例をつけるようデータを整形したり、凡例の一部をannotationにしたり、\n", |
599 | | - "図の横側に凡例を置いたりなど工夫が必要になることも多い。\n", |
600 | | - "\n" |
601 | | - ] |
602 | | - }, |
603 | | - { |
604 | | - "cell_type": "markdown", |
605 | | - "metadata": { |
606 | | - "id": "AP4eGtKElufB" |
607 | | - }, |
608 | 585 | "source": [ |
609 | 586 | "当然だが、x軸とy軸方向でデータの数が合っていないとエラーとなる. \n", |
610 | 587 | "「一緒にしているつもりなのにエラーが出る...」と言う場合は、`len`関数を使うなどして、リストの長さ/要素の数をチェックしてみよう。\n", |
|
619 | 596 | "カンマの後ろにスペースを入れることは文法上の必要条件ではないが、コードの可読性を上げるために推奨される書き方である. 英文などでも基本となるため、癖づけておくと良い." |
620 | 597 | ] |
621 | 598 | }, |
| 599 | + { |
| 600 | + "cell_type": "markdown", |
| 601 | + "metadata": {}, |
| 602 | + "source": [ |
| 603 | + "**凡例について**\n", |
| 604 | + "\n", |
| 605 | + "上でも少し凡例について触れたが、barやplot、以下でやるscatterなどそれぞれのグラフを構成するオブジェクトに対して、`label`という引数を指定することで凡例を付けることができる.\n", |
| 606 | + "\n", |
| 607 | + "とくに複数のデータをまとめてプロットするときは、どのデータがどの線や棒に対応するのか分からなくなってしまうことがあるので、凡例をつけることが重要になる。用意した凡例は`plt.legend()`で有効化することができる.\n", |
| 608 | + "\n", |
| 609 | + "凡例を設定することは、図の可読性を向上させるための重要な要素である一方で、\n", |
| 610 | + "同じような色や形の凡例が多すぎると、かえって可読性を下げてしまうこともある。\n", |
| 611 | + "例えば、散布図で一点ごとに描画してlabelをつけてしまうと、データの数だけ凡例ができてしまいとても不格好なグラフになってしまう。\n", |
| 612 | + "\n", |
| 613 | + "最小限の数の凡例をつけるようデータを整形したり、凡例の一部をannotationにしたり、\n", |
| 614 | + "図の横側に凡例を置いたりなど工夫が必要になることも多い。\n", |
| 615 | + "\n" |
| 616 | + ] |
| 617 | + }, |
622 | 618 | { |
623 | 619 | "cell_type": "markdown", |
624 | 620 | "metadata": { |
|
633 | 629 | "以下では、2017年の宇都宮の平均気温とアイスクリームの消費量の相関を見てみよう。 \n", |
634 | 630 | "気温・アイスクリームの消費量ともに、1月から12月に順番にリストに入れていくことにする。\n", |
635 | 631 | "\n", |
636 | | - "※実際のデータ分析の場合は、**手でデータを入力してリストを作るのは面倒な上、人為的なミスが入り込む可能性が高い**ので、CSVファイルなどからデータを読み込むことが多い。\n", |
| 632 | + "※実際のデータ分析の場合は、**手でデータを入力してリストを作るのは面倒な上、人為的なミスが入り込む可能性が高い**ので、CSVファイルなどからデータを読み込むべきである。そうすると、ミスがあってもデータを作成した人のせいにできる、というより責任やミスの所在を明確にできる。\n", |
637 | 633 | "\n" |
638 | 634 | ] |
639 | 635 | }, |
|
772 | 768 | }, |
773 | 769 | "outputs": [], |
774 | 770 | "source": [ |
775 | | - "data = [152, 170, 82, 85, 79, 92, 88]\n", |
776 | | - "label = [\"国語\",\"英語\", \"数IA\", \"数IIB\", \"化学\", \"物理\", \"世界史\"]\n", |
777 | | - "\n", |
778 | 771 | "fig = plt.figure(figsize=(10,5))\n", |
779 | 772 | "axTL = fig.add_subplot(2,2,1) #TL: Top Leftのつもり\n", |
780 | 773 | "axTR = fig.add_subplot(2,2,2) #TR: Top Rightのつもり \n", |
781 | 774 | "axBL = fig.add_subplot(2,2,3) #BL: Bottom Leftのつもり\n", |
782 | 775 | "axBR = fig.add_subplot(2,2,4) #BR: Bottom rightのつもり\n", |
783 | | - "axTL.plot(y_sev)\n", |
| 776 | + "axTL.plot(data)\n", |
784 | 777 | "axTR.scatter(x,y)\n", |
785 | 778 | "axBL.bar(label,data,align='center',width=0.5,color=\"red\") \n", |
786 | 779 | "axBR.text(0.5,0.4,\"右下だよ\")\n", |
|
1246 | 1239 | "provenance": [] |
1247 | 1240 | }, |
1248 | 1241 | "kernelspec": { |
1249 | | - "display_name": "3.11.4", |
| 1242 | + "display_name": "venv", |
1250 | 1243 | "language": "python", |
1251 | 1244 | "name": "python3" |
1252 | 1245 | }, |
|
1260 | 1253 | "name": "python", |
1261 | 1254 | "nbconvert_exporter": "python", |
1262 | 1255 | "pygments_lexer": "ipython3", |
1263 | | - "version": "3.11.4" |
| 1256 | + "version": "3.13.2" |
1264 | 1257 | } |
1265 | 1258 | }, |
1266 | 1259 | "nbformat": 4, |
|
0 commit comments