sq_02_python_data_science/jupyter_book/03_matplotlib.ipynb

384 lines
115 KiB
Plaintext
Raw Permalink Normal View History

{
"cells": [
{
"cell_type": "markdown",
"id": "1a44722c-9586-4418-ad7f-8a3c964a9db8",
"metadata": {},
"source": [
"# Grafiken"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "d29042ce-7023-45f2-a389-e73d4ddfd7e8",
"metadata": {
"tags": [
"hide-input"
]
},
"outputs": [],
"source": [
"import random\n",
"def rand_numbers(n, start, end, digits=2):\n",
" \"\"\" Erzeugt einen Array mit Zufallszahlen mit 2 Nachkommastellen\n",
" n\n",
" Anzahl der erzeugten Zufallszahlen\n",
" \n",
" start\n",
" Kleinste mögliche Zahl (inklusiv)\n",
" \n",
" end\n",
2023-10-19 09:35:19 +02:00
" Größte mögliche Zahl (inklusiv)\n",
" \n",
" digits\n",
" Anzahl Nachkommastellen, Default: 2\n",
" \"\"\"\n",
" factor = 10 ** digits\n",
" result = []\n",
" for i in range(n):\n",
" result.append(random.randint(start * factor, end * factor) / factor)\n",
" \n",
" return result "
]
},
{
"cell_type": "markdown",
"id": "ab90ad44-8536-4445-8674-a451a9a4971f",
"metadata": {},
"source": [
"## Matplotlib\n",
"\n",
"Bisher haben wir nur mit Zahlen ein Texten gearbeitet.\n",
"Dafür haben wir die Packages `math` und `random` verwendet.\n",
"\n",
2023-10-19 09:35:19 +02:00
"Jetzt möchten wir Grafiken erzeugen. Dazu benötigen wir ein weiteres Package: `matplotlib`,\n",
"genauer gesagt, davon erst einmal nur den Teil `pyplot`.\n",
"\n",
"Um uns Tipparbeit zu sparen sagen wir beim `import`, dass wir im Folgenden dieses Package `plt` nennen möchten."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "89b767d1-4305-492b-984f-960b322e89a6",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"numbers = rand_numbers(50, -100, 100)\n",
"plt.plot(numbers);\n",
"plt.show() # bei manchen Jupyter-Versionen nicht nötig, einfach mal ohne testen"
]
},
{
"cell_type": "markdown",
"id": "fa5231c5-7b2a-4d02-a0e3-69a8ee78d930",
"metadata": {},
"source": [
"## Aufgabe\n",
"Erklärt,\n",
"1. was das Programm tut\n",
"2. was auf der Grafik zu sehen ist\n",
"3. wozu das Semikolon in der vorletzten Zeile dient"
]
},
{
"cell_type": "markdown",
"id": "486f4398-0d21-411d-8f91-e57fc925d2b8",
"metadata": {},
"source": [
"## Lösung\n",
"1. Was tut Programm?\n",
2023-10-19 09:35:19 +02:00
" - es importiert die Bibliothek `matplotlib.pyplot`. Diese enthält Funktionen zum Zeichnen von Grafiken\n",
" - diese Bibliothek nennen wir `plt` weil das schneller zu schreibenist als `matplotlib.pyplot`\n",
" - 50 Zufallszahlen zwischen -100 und 100 erzeugt und diese im Array mit dem Namen `numbers` speichern\n",
" - die Zufallszahlen in `numbers` zeichnen\n",
"1. Was ist auf Grafik zu sehen?\n",
" - Der Wert der Zufallszahlen ist auf der y-Achse\n",
" - Die 0te Zufallszahl ist auf der x-Achse bei x=0, die 1te Zufallszahl bei x=1 usw.\n",
"1. Die Funktion plot() zeichnet die Grafik und liefert zusätzlich noch ein Ergebnis zurück. Das Semikolon sorgt dafür, dass das Ergebnis nicht angezeigt wird."
]
},
{
"cell_type": "markdown",
"id": "5feb449e-76c4-4ea9-b0e2-4912f100cc39",
"metadata": {},
"source": [
"## Aufgabe\n",
"Wie kann man erkennen, wie gleichmäßig die Zufallszahlen verteilt sind?"
]
},
{
"cell_type": "markdown",
"id": "7d02f67c-6395-42be-988d-e29d182d0bd5",
"metadata": {},
"source": [
"## Lösung\n",
"Die Zufallszahlen der Größe nach sortieren.\n",
"Je gleichmäßiger sie verteilt sind desto gerader ist die Linie im Graphen."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "c3cd108d-ec9f-4570-b604-b18c07887f95",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAD4CAYAAAAEhuazAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAiJUlEQVR4nO3deXhU5d3/8fc3IYQlQFjCTth3gSABd7QKilutS1HbutQ+gs9Tt2rr3trap0+LrVpbtS2iVVsrLmjdqeIKroQ1YSfsIYSEJSFAQpbv74+M/qKCAsnJmcx8Xtc118w5Zybney4mnxzuc5/7NndHRETiS0LYBYiISMNT+IuIxCGFv4hIHFL4i4jEIYW/iEgcahJ2AQejQ4cO3qtXr7DLEBFpVObNm1fk7mn729Yowr9Xr15kZWWFXYaISKNiZusPtE3NPiIicUjhLyIShxT+IiJxSOEvIhKHFP4iInFI4S8iEocU/iIicUjhLyISpWYtLeCZrI2B/GyFv4hIlKmqdu55YwX/9UQW0z/dQHV1/c+70iju8BURiRc7du/juqcX8v7KQiZmdueuc44gIcHqfT8KfxGRKJGTV8xV/5zH1pJyfnveMC4ekx7YvhT+IiJR4Nmsjdzx7xzat2zKM1cdQ0aP1ED3p/AXEQmRu/Orl5fy2IfrOK5fe/500UjapyQHvl+Fv4hIiJ7N2sRjH67j8mN7cceZg2mS2DD9cBT+IiIhyS0s5c6XlnBs3/b84qwhgVzYPRB19RQRCUF5ZRXXTV9As6QE7p2Y0aDBDzrzFxEJxT1vrCQnr4Spl4yic5tmDb5/nfmLiDSw2asKmfr+Gn5wdDqnDu0cSg0KfxGRBrSttJwbnllE/44p3H7GkNDqCLTZx8wGAk/XWtUH+AWQClwJFEbW3+burwVZi4hI2Nydm55bTPHeCp64YgzNmyaGVkug4e/uK4AMADNLBPKAF4AfAve5+x+C3L+ISDT5x8freWv5Vu48ewiDu7QOtZaGvOB7CpDr7uvNGvaqtohImLbv3sfU99fw6Jy1nDQwjcuP7RV2SQ0a/hcBT9VavtrMLgWygBvdfUftN5vZJGASQHp6cONbiIgEpXhPBdPm1IT+nooqzh7elV99eyjRcAJs7vU/VOhXdmLWFNgMDHX3AjPrBBQBDvwa6OLuVxzo85mZmZ6VlRV4nSIi9aGkrIK/z1nHtDlr2FVWyZnDunDduP4M6NSqQesws3nunrm/bQ115n86MN/dCwA+e44U9zDwSgPVISISiKLScj5YXcTsVUW8ubSA4r0VnDqkEz8ZPyD09v39aajwv5haTT5m1sXd8yOL5wI5DVSHiEi9qKiq5pM125m9qpDZq4pYml8CQJvmSYwdkMakE/owrHubkKs8sMDD38xaAuOBybVW321mGdQ0+6z70jYRkaiWk1fMjc8sYkXBLpISjVE92/Kz0wZyfL8OHNGtDYkNPFTD4Qg8/N19N9D+S+suCXq/IiL1bV9lNQ+8vYoH382lQ0pT/nzxSE4e1JGWyY1vpJzGV7GISAiWbK4521++ZRfnHdmNO88aSpsWSWGXddgU/iIiX6OiqpoH31nNA2+vpm3Lpky7NJNxQzqFXVadKfxFRA6gsqqay//+KR+s3sZ3Mrryy28PJbVF07DLqhcKfxGRA/jT26v5YPU2/u/cYXzvqNi62VSjeoqI7MeHuUX8+e1VnH9k95gLflD4i4h8xbbScq6fvpDeHVpy1zlDwy4nEAp/EZFaqqudG59dxM69FTxw8ZGNshvnwVD4i4jU8sictby7opCfnzmYIV2jb1iG+qLwFxGJWLhxJ1NmLmfC0M784OieYZcTKIW/iAg1I3Fe89R8OrVuxpTzh0fFsMtBis3GLBGRQ7Cvspqbnl3M5p1lPDP5mEZ95+7BUviLSFzLLSzluukLyMkr4Y4zBzOqZ9uwS2oQCn8RiUvuzrNZm7jzpSUkJyUw9ZJRnDq0c9hlNRiFv4jEneI9Fdz2QjavZudzbN/23Dsxg85tmoVdVoNS+ItITHJ3qqqdqs+eI4+l+SX87NnFFJSUcfOEQUwe24eERjD+fn1T+ItIzHlp0WZ+8vRCqqr3P0d5z/YtmPHfxzKiR2rDFhZFFP4iElMqqqq5e+ZyendoyTkjupKQYDRJMBIjj+ZJiZw1oispMXrn7sGK76MXkZjzbNYmNu3Yy98vH823BnUMu5yo1RBz+K4DdgFVQKW7Z5pZO+BpoBc1c/hOdPcdQdciIrGtvLKKB95excj0VE4amBZ2OVGtoe7w/Za7Z7h7ZmT5FuAtd+8PvBVZFhGpk+mfbmRzcRk3jh8Y83fo1lVYwzucAzweef048J2Q6hCRGFFWUcWD76xmTK92HNevfdjlRL2GCH8H3jCzeWY2KbKuk7vnR15vAb4yIaaZTTKzLDPLKiwsbIAyRaQx++fH69m6q5wbTh2gs/6D0BAXfI939zwz6wi8aWbLa290dzezr/THcvepwFSAzMzM/ffXEhEB9uyr5K/v5XJcv/Yc3Udn/Qcj8DN/d8+LPG8FXgDGAAVm1gUg8rw16DpEJHY98dF6ikr3ccP4AWGX0mgEGv5m1tLMWn32GjgVyAFeAi6LvO0y4MUg6xCR2FVaXsnf3svlxAFpjOrZLuxyGo2gm306AS9E2t+aAP9y95lmNhd4xsx+BKwHJgZch4jEqL/PWcuOPRU66z9EgYa/u68BRuxn/TbglCD3LSKxr3hvBQ/PXsO4wR3jeqiGw6GZvESkUXJ37n1jBSVllfxEZ/2HTOEvIo3SfbNW8fhH67nsmJ4M7dom7HIaHYW/iDQ6989axZ/eWsWFmT248+yhYZfTKCn8RaRReeDtVdw3ayUXjOrOb88bFpdj8dcHhb+INBoPvbuaP7yxkvNGdmPK+cMV/HWg8BeRRuFv7+Vy98wVfCejK7//7ggSFfx1ovH8RSRq7dlXyeJNxby5tIBH5qzl7BFd+YOCv14o/EUkahSUlPHxmm3MX7+DeRt2sCx/1+dTMZ43sht3XzCcJolqsKgPCn8RiQrL8ks496EPKKuopkXTREZ0T+W/T+zLkT1TGdmjLW1bNg27xJii8BeR0JVVVHHtUwto1SyJpydlMrRra53hB0zhLyKh+82ry1i1tZQnrhijYRoaiP60ikioZi0t4B8fr+dHx/dm7ADNu9tQFP4iEpqtJWXcNGMxg7u05qYJA8MuJ64o/EUkFNXVzo3PLmJ3eSV/uiiD5CaJYZcUVxT+IhKKRz9Yy+xVRfz8rCH079Qq7HLijsJfRBrcks3F3D1zBeOHdOL7R6WHXU5cUviLSIMqq6jiuukLSW2RxJTzhxOZ6U8amLp6ikiDmjZ7Dasj3Trb6cat0AR25m9mPczsHTNbamZLzOy6yPpfmlmemS2MPM4IqgYRiS5FpeX89b01nDqkk7p1hizIM/9K4EZ3n29mrYB5ZvZmZNt97v6HAPctIlHoz2+tYm9FFTefPijsUuJeYOHv7vlAfuT1LjNbBnQLan8iEt3WFJby5CcbuHhMD/qmpYRdTtxrkAu+ZtYLGAl8Ell1tZktNrNHzaztAT4zycyyzCyrsLCwIcoUkQD9/j8raNokgetO0WTr0SDw8DezFGAGcL27lwB/AfoCGdT8z+Ce/X3O3ae6e6a7Z6alqW1QpDGbt347r+dsYfLYvqS1Sg67HCHg8DezJGqC/0l3fx7A3Qvcvcrdq4GHgTFB1iAi4XJ3/u+15aS1SubKsb3DLkciguztY8AjwDJ3v7fW+i613nYukBNUDSISvv8sKWDe+h3cMH4ALZqqd3m0CPJf4jjgEiDbzBZG1t0GXGxmGYAD64DJAdYgIiGqqKpmyszl9OuYwndHdQ+7HKklyN4+c4D93br3WlD7FJHoMv3TDawt2s20SzM1OUuU0b+GiASitLySP85axVG923HK4I5hlyNfogY4Eal3y/JLuO2FbLbt3scjZwzW+D1RSOEvIvVmz75K7p+1imlz1tKmeRL3X5RBhqZljEoKfxGpF28tK+AXLy4hb+deLhrdg1tOH0RqCw3cFq0U/iJSJ+uKdjNl5nJez9l
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"numbers.sort()\n",
"plt.plot(numbers);\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "4866c521-8484-413b-80af-7bb129a5c2c5",
"metadata": {},
"source": [
"Das sieht schon nicht schlecht aus. Abweichungen von der Gerade sind aber deutlich zu sehen."
]
},
{
"cell_type": "markdown",
"id": "2f2ddb2c-d63e-4ee7-b5c1-1c148eea8787",
"metadata": {},
"source": [
"## Aufgabe\n",
"Welche Stelle im Programm muss geändert werden damit der erzeugte Graph viel näher an einer Gerade ist?"
]
},
{
"cell_type": "markdown",
"id": "7cc38c4b-8ff6-4549-9a26-df42bad9e42f",
"metadata": {},
"source": [
"## Lösung\n",
"Nach dem Gesetz der großen Zahlen müsste die Abweichung von der Gerade kleiner werden wenn man mehr Zufallszahlen zieht."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "aee05f91-0bbd-4c9e-a972-ff305167c974",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"numbers = rand_numbers(10000, -100, 100)\n",
"numbers.sort()\n",
"plt.plot(numbers);\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "fcdd2a03-14b2-4424-a0a0-5bc1e73017ae",
"metadata": {},
"source": [
"## Matplotlib Dokumentation\n",
"\n",
"Dokumentation zu Matplotlib und anderen Python Packages findet man im unteren Teil des Hilfe-Menüs.\n",
"\n",
"![jupyter_help.png](jupyter_help.png)\n",
"\n",
"Falls diese fehlen:\n",
"* matplotlib: https://matplotlib.org/stable/api/index.html\n",
"* pandas: https://pandas.pydata.org/docs/reference/index.html"
]
},
{
"cell_type": "markdown",
"id": "95389da8-8526-4904-bc04-01a2104f1d1d",
"metadata": {},
"source": [
"## Aufgabe\n",
"Erzeuge einen Graph mit Sinus und Cosinus-Funktion."
]
},
{
"cell_type": "markdown",
"id": "34fcc9ed-61b0-483a-ae79-fb5faa25ac9b",
"metadata": {},
"source": [
"## Lösung"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "0c429b71-11b0-4a30-8710-61298f161185",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import math\n",
"\n",
"sins = []\n",
"coss = []\n",
"\n",
"for i in range(360):\n",
" sins.append(math.sin(math.radians(i)))\n",
" coss.append(math.cos(math.radians(i))) \n",
" \n",
"plt.plot(sins)\n",
"plt.plot(coss);\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "6dda6efa-5540-4659-8f66-afd18b697f5c",
"metadata": {},
"source": [
"## Aufgabe\n",
"* Lest die Dokumentation zu `plt.plot` und verändert\n",
" * Farbe der Linie\n",
" * Dicke der Linie\n",
" * Beschriftung der x-Achse (Werte in Bogen- statt Gradmaß)\n",
"* Lest die Dokumentation zu `plot` und versucht den Graphen zu beschriften"
]
},
{
"cell_type": "markdown",
"id": "ba58416c-8104-468b-8a0b-88cf86e85879",
"metadata": {},
"source": [
"## Lösung"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "9e65731d-e81f-491a-ace5-46eaa6e208e6",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import math\n",
"\n",
"sins = []\n",
"coss = []\n",
"rads = []\n",
"\n",
"for i in range(360):\n",
" r = math.radians(i)\n",
" rads.append(r)\n",
" sins.append(math.sin(r))\n",
" coss.append(math.cos(r))\n",
"\n",
"plt.plot(rads, sins, color='violet', linewidth=2)\n",
"plt.plot(rads, coss, color='darkblue', linewidth=2)\n",
"\n",
"plt.title('sin(x) und cos(x)')\n",
"plt.xlabel('x von 0 bis 2π')\n",
"plt.ylabel('y')\n",
"plt.legend(['sin(x)', 'cos(x)']);\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "470cd36c-2758-4f6f-b359-3a6adfb127dc",
"metadata": {},
"source": [
"## Grafiken speichern/exportieren\n",
"\n",
"Bilder können nicht nur angezeigt sondern auch gespeichert werden. Dies muss *vor* dem Aufruf von `plt.show()` geschehen:\n",
"\n",
"```\n",
"plt.savefig('sin_cos.png');\n",
"plt.savefig('sin_cos.pdf');\n",
"plt.savefig('sin_cos.svg');\n",
"plt.savefig('sin_cos.png', dpi=300, transparent=True, bbox_inches='tight')\n",
"\n",
"plt.show()\n",
"```"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}