2021-03-02 08:32:40 +01:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
2021-05-19 07:49:54 +02:00
"## Uczenie maszynowe – zastosowania\n",
"### Zajęcia laboratoryjne\n",
2021-03-02 08:32:40 +01:00
"# 2. Wczytywanie i prezentowanie danych"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Przechowywanie danych w plikach w formatach CSV i TSV"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**CSV** (*Comma-Separated Values*) i **TSV** (*Tab-Separated Values*) to proste formaty przechowywania danych tabelarycznych w postaci tekstowej.\n",
"\n",
"Każdy rekord zapisywany jest w osobnym wierszu, a poszczególne pola oddzielone są przecinkami (CSV) lub znakami tabulacji (TSV)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Przykład\n",
"\n",
"Następujące dane tabelaryczne:\n",
"\n",
"imię | nazwisko | rok ur. | adres\n",
":----|:----------|:--------|:----------------------\n",
"Jan | Nowak | 1999 | Poznańska 3, Warszawa\n",
"Anna | Kowalska | 2001 | Warszawska 9, Poznań\n",
"Ewa | Kaczmarek | 1990 | Wrocławska 123, Gdańsk\n",
"\n",
"możemy zapisać w formacie CSV jako:\n",
"\n",
" imię,nazwisko,rok ur.,adres\n",
" Jan,Nowak,1999,\"Poznańska 3, Warszawa\"\n",
" Anna,Kowalska,2001,\"Warszawska 9, Poznań\"\n",
" Ewa,Kaczmarek,1990,\"Wrocławska 123, Gdańsk\"\n",
"\n",
"lub w formacie TSV jako:\n",
"\n",
" imię nazwisko rok ur. adres\n",
" Jan Nowak 1999 Poznańska 3, Warszawa\n",
" Anna Kowalska 2001 Warszawska 9, Poznań\n",
" Ewa Kaczmarek 1990 Wrocławska 123, Gdańsk\n",
" \n",
"W formacie TSV poszczególne pola oddzielone są znakami tabulacji, a nie spacjami.\n",
"\n",
"Znak tabulacji to ten biały (tj. niedrukowalny) znak, który pojawia się po naciśnięciu klawisza **Tab** na klawiaturze."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Formaty CSV i TSV mają tę zaletę, że są proste, łatwe do przetorzenia przez komputer oraz czytelne dla człowieka."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Wczytywanie danych z plików CSV i TSV"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Biblioteka `csv`"
]
},
{
"cell_type": "code",
2022-03-10 12:40:55 +01:00
"execution_count": 1,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['price', 'isNew', 'rooms', 'floor', 'location', 'sqrMetres']\n",
"['476118.0', 'False', '3', '1', 'Centrum', '78']\n",
2022-03-10 11:08:21 +01:00
"['459531.0', 'False', '3', '2', 'Sołacz', '62']\n",
"['411557.0', 'False', '3', '0', 'Sołacz', '15']\n",
"['496416.0', 'False', '4', '0', 'Sołacz', '14']\n",
"['406032.0', 'False', '3', '0', 'Sołacz', '15']\n",
2021-03-02 08:32:40 +01:00
"['450026.0', 'False', '3', '1', 'Naramowice', '80']\n",
"['571229.15', 'False', '2', '4', 'Wilda', '39']\n",
"['325000.0', 'False', '3', '1', 'Grunwald', '54']\n",
"['268229.0', 'False', '2', '1', 'Grunwald', '90']\n"
]
}
],
"source": [
"import csv\n",
"\n",
"with open('data1.csv') as data_file:\n",
" reader = csv.reader(data_file)\n",
" for row in reader:\n",
" print(row)"
]
},
{
"cell_type": "code",
2022-03-10 12:40:55 +01:00
"execution_count": 2,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'price': '476118.0', 'isNew': 'False', 'rooms': '3', 'floor': '1', 'location': 'Centrum', 'sqrMetres': '78'}\n",
2022-03-10 11:08:21 +01:00
"{'price': '459531.0', 'isNew': 'False', 'rooms': '3', 'floor': '2', 'location': 'Sołacz', 'sqrMetres': '62'}\n",
"{'price': '411557.0', 'isNew': 'False', 'rooms': '3', 'floor': '0', 'location': 'Sołacz', 'sqrMetres': '15'}\n",
"{'price': '496416.0', 'isNew': 'False', 'rooms': '4', 'floor': '0', 'location': 'Sołacz', 'sqrMetres': '14'}\n",
"{'price': '406032.0', 'isNew': 'False', 'rooms': '3', 'floor': '0', 'location': 'Sołacz', 'sqrMetres': '15'}\n",
2021-03-02 08:32:40 +01:00
"{'price': '450026.0', 'isNew': 'False', 'rooms': '3', 'floor': '1', 'location': 'Naramowice', 'sqrMetres': '80'}\n",
"{'price': '571229.15', 'isNew': 'False', 'rooms': '2', 'floor': '4', 'location': 'Wilda', 'sqrMetres': '39'}\n",
"{'price': '325000.0', 'isNew': 'False', 'rooms': '3', 'floor': '1', 'location': 'Grunwald', 'sqrMetres': '54'}\n",
"{'price': '268229.0', 'isNew': 'False', 'rooms': '2', 'floor': '1', 'location': 'Grunwald', 'sqrMetres': '90'}\n"
]
}
],
"source": [
"import csv\n",
"\n",
"with open('data1.csv') as data_file:\n",
" reader = csv.DictReader(data_file)\n",
" for row in reader:\n",
" print(dict(row))"
]
},
{
"cell_type": "code",
2022-03-10 12:40:55 +01:00
"execution_count": 3,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['price', 'isNew', 'rooms', 'floor', 'location', 'sqrMetres']\n",
"['476118.0', 'False', '3', '1', 'Centrum', '78']\n",
2022-03-10 11:08:21 +01:00
"['459531.0', 'False', '3', '2', 'Sołacz', '62']\n",
"['411557.0', 'False', '3', '0', 'Sołacz', '15']\n",
"['496416.0', 'False', '4', '0', 'Sołacz', '14']\n",
"['406032.0', 'False', '3', '0', 'Sołacz', '15']\n",
2021-03-02 08:32:40 +01:00
"['450026.0', 'False', '3', '1', 'Naramowice', '80']\n",
"['571229.15', 'False', '2', '4', 'Wilda', '39']\n",
"['325000.0', 'False', '3', '1', 'Grunwald', '54']\n",
"['268229.0', 'False', '2', '1', 'Grunwald', '90']\n"
]
}
],
"source": [
"import csv\n",
"\n",
"with open('data1.tsv') as data_file:\n",
" reader = csv.reader(data_file, delimiter='\\t')\n",
" for row in reader:\n",
" print(row)"
]
},
{
"cell_type": "code",
2022-03-10 12:40:55 +01:00
"execution_count": 4,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'price': '476118.0', 'isNew': 'False', 'rooms': '3', 'floor': '1', 'location': 'Centrum', 'sqrMetres': '78'}\n",
2022-03-10 11:08:21 +01:00
"{'price': '459531.0', 'isNew': 'False', 'rooms': '3', 'floor': '2', 'location': 'Sołacz', 'sqrMetres': '62'}\n",
"{'price': '411557.0', 'isNew': 'False', 'rooms': '3', 'floor': '0', 'location': 'Sołacz', 'sqrMetres': '15'}\n",
"{'price': '496416.0', 'isNew': 'False', 'rooms': '4', 'floor': '0', 'location': 'Sołacz', 'sqrMetres': '14'}\n",
"{'price': '406032.0', 'isNew': 'False', 'rooms': '3', 'floor': '0', 'location': 'Sołacz', 'sqrMetres': '15'}\n",
2021-03-02 08:32:40 +01:00
"{'price': '450026.0', 'isNew': 'False', 'rooms': '3', 'floor': '1', 'location': 'Naramowice', 'sqrMetres': '80'}\n",
"{'price': '571229.15', 'isNew': 'False', 'rooms': '2', 'floor': '4', 'location': 'Wilda', 'sqrMetres': '39'}\n",
"{'price': '325000.0', 'isNew': 'False', 'rooms': '3', 'floor': '1', 'location': 'Grunwald', 'sqrMetres': '54'}\n",
"{'price': '268229.0', 'isNew': 'False', 'rooms': '2', 'floor': '1', 'location': 'Grunwald', 'sqrMetres': '90'}\n"
]
}
],
"source": [
"import csv\n",
"\n",
"with open('data1.tsv') as data_file:\n",
" reader = csv.DictReader(data_file, delimiter='\\t')\n",
" for row in reader:\n",
" print(dict(row))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Biblioteka `pandas`"
]
},
{
"cell_type": "code",
2022-03-10 12:40:55 +01:00
"execution_count": 5,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" price isNew rooms floor location sqrMetres\n",
"0 476118.00 False 3 1 Centrum 78\n",
"1 459531.00 False 3 2 Sołacz 62\n",
"2 411557.00 False 3 0 Sołacz 15\n",
"3 496416.00 False 4 0 Sołacz 14\n",
"4 406032.00 False 3 0 Sołacz 15\n",
"5 450026.00 False 3 1 Naramowice 80\n",
"6 571229.15 False 2 4 Wilda 39\n",
"7 325000.00 False 3 1 Grunwald 54\n",
"8 268229.00 False 2 1 Grunwald 90\n"
]
}
],
"source": [
"import pandas as pd\n",
"\n",
"data = pd.read_csv('data1.csv')\n",
"print(data)"
]
},
{
"cell_type": "code",
2022-03-10 12:40:55 +01:00
"execution_count": 6,
2021-03-17 13:20:09 +01:00
"metadata": {
"scrolled": true
},
2021-03-02 08:32:40 +01:00
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" price isNew rooms floor location sqrMetres\n",
"0 476118.00 False 3 1 Centrum 78\n",
"1 459531.00 False 3 2 Sołacz 62\n",
"2 411557.00 False 3 0 Sołacz 15\n",
"3 496416.00 False 4 0 Sołacz 14\n",
"4 406032.00 False 3 0 Sołacz 15\n",
"5 450026.00 False 3 1 Naramowice 80\n",
"6 571229.15 False 2 4 Wilda 39\n",
"7 325000.00 False 3 1 Grunwald 54\n",
"8 268229.00 False 2 1 Grunwald 90\n"
]
}
],
"source": [
"import pandas as pd\n",
"\n",
"data = pd.read_csv('data1.tsv', sep='\\t')\n",
"print(data)"
]
},
2022-03-10 11:08:21 +01:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Dane z Pandas DataFrame można przekonwertować na tablicę NumPy:\n",
"* za pomocą właściwości `values`\n",
"* za pomocą metody `to_numpy()` (od wersji Pandas 1.1.0)"
]
},
2021-03-02 08:32:40 +01:00
{
"cell_type": "code",
2022-03-10 12:40:55 +01:00
"execution_count": 7,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[476118.0 False 3 1 'Centrum' 78]\n",
" [459531.0 False 3 2 'Sołacz' 62]\n",
" [411557.0 False 3 0 'Sołacz' 15]\n",
" [496416.0 False 4 0 'Sołacz' 14]\n",
" [406032.0 False 3 0 'Sołacz' 15]\n",
" [450026.0 False 3 1 'Naramowice' 80]\n",
" [571229.15 False 2 4 'Wilda' 39]\n",
" [325000.0 False 3 1 'Grunwald' 54]\n",
" [268229.0 False 2 1 'Grunwald' 90]]\n"
]
}
],
"source": [
2022-03-10 11:08:21 +01:00
"\n",
"print(data.to_numpy()) # Pandas w wersji >=1.1.0\n",
"# lub:\n",
"# print(data.values) # dla starszych wersji biblioteki Pandas"
2021-03-02 08:32:40 +01:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Wykresy – biblioteka `matplotlib`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Dokumentacja modułu `pyplot` biblioteki `matplotlib`: https://matplotlib.org/api/pyplot_api.html"
]
},
{
"cell_type": "code",
2022-03-10 12:40:55 +01:00
"execution_count": 8,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [],
"source": [
2021-03-17 11:29:33 +01:00
"# Trochę jupyterowej magii, żeby wykresy wyświetlały się bezpośrednio pod kodem, który go wywołuje\n",
2021-03-02 08:32:40 +01:00
"%matplotlib inline"
]
},
{
"cell_type": "code",
2022-03-10 12:40:55 +01:00
"execution_count": 9,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"data": {
2022-03-10 12:40:55 +01:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAD8CAYAAACb4nSYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAASEklEQVR4nO3df4wn9X3f8efrADe9M41xvCYYuLsoQViOVWNndU6EatlOIECQcSurAW1d0iJtEtmSrVZqnJ4Up46QXFVxqpYoaGuQcbLBbmOToBjbnBJXBMk/2LseNuTsQBEHl0PcOeeA0UaNznn3j++cbll/v+z3vvM9vrv+PB/SVzPzmc/MvG8Erx19vjPzTVUhSWrDtlkXIEl6+Rj6ktQQQ1+SGmLoS1JDDH1JaoihL0kN2TD0k1ya5EtJDiV5NMkHuvZXJ9mX5LFuesGI7W/u+jyW5OZp/wMkSePLRvfpJ7kIuKiqDiQ5H9gPvBv4JeBEVX00yYeAC6rq19Zt+2pgBZgHqtv2p6rqO1P/l0iSNrThlX5VPVNVB7r57wKHgIuBG4C7um53MfhDsN7PA/uq6kQX9PuAa6ZRuCTpzJ17Jp2T7AbeDHwVuLCqnoHBH4Ykrx2yycXA02uWj3Rtw/a9CCwC7Nix46de//rXn0lpktS0/fv3f7uq5jbqN3boJ3kl8Bngg1X1fJKxNhvSNnQ8qaqWgCWA+fn5WllZGbc0SWpeksPj9Bvr7p0k5zEI/OWq+mzX/Gw33n9q3P/YkE2PAJeuWb4EODrOMSVJ0zfO3TsB7gAOVdXH1qy6Fzh1N87NwJ8M2fyLwNVJLuju7rm6a5MkzcA4V/pXAu8F3pnkYPe5DvgocFWSx4CrumWSzCf5OEBVnQB+C3io+3yka5MkzcCGt2zOgmP6knRmkuyvqvmN+vlEriQ1xNCXpIYY+pLUEENfkhpi6EtSQwx9SWqIoS9JDTH0Jakhhr4kNcTQl6SGGPqS1BBDX5IaYuhLUkMMfUlqiKEvSQ0x9CWpIYa+JDXE0Jekhpy7UYckdwLXA8eq6o1d26eBy7surwL+tqquGLLtk8B3ge8BJ8f5KS9J0tmzYegDnwBuAz55qqGqfvHUfJLfBp57ie3fUVXfnrRASdL0bBj6VfVAkt3D1iUJ8C+Bd063LEnS2dB3TP+fAc9W1WMj1hdwf5L9SRZ7HkuS1NM4wzsv5Sbg7pdYf2VVHU3yWmBfkm9W1QPDOnZ/FBYBdu7c2bMsSdIwE1/pJzkX+BfAp0f1qaqj3fQYcA+w5yX6LlXVfFXNz83NTVqWJOkl9Bne+Tngm1V1ZNjKJDuSnH9qHrgaeKTH8SRJPW0Y+knuBr4MXJ7kSJJbulU3sm5oJ8nrktzXLV4IPJjkYeBrwOeq6gvTK12SdKbGuXvnphHtvzSk7ShwXTf/BPCmnvVJkqbIJ3IlqSGGviQ1xNCXpIYY+pLUEENfkhpi6EtSQwx9SWqIoS9JDTH0JW09y8uwezds2zaYLi/PuqIto+9bNiXp5bW8DIuLsLo6WD58eLAMsLAwu7q2CK/0JW0te/eeDvxTVlcH7dqQoS9pa3nqqTNr14sY+pK2llE/suSPL43F0Je0tdx6K2zf/uK27dsH7dqQoS9pa1lYgKUl2LULksF0ackvccfk3TuStp6FBUN+Ql7pS1JDDH1JaoihL0kNGeeH0e9McizJI2vafjPJXyc52H2uG7HtNUm+leTxJB+aZuGSpDM3zpX+J4BrhrT/TlVd0X3uW78yyTnA7wLXAm8Abkryhj7FSpL62TD0q+oB4MQE+94DPF5VT1TV3wOfAm6YYD+SpCnpM6b//iRf74Z/Lhiy/mLg6TXLR7q2oZIsJllJsnL8+PEeZUmSRpk09H8P+HHgCuAZ4LeH9MmQthq1w6paqqr5qpqfm5ubsCxJ0kuZKPSr6tmq+l5V/QPwPxgM5ax3BLh0zfIlwNFJjidJmo6JQj/JRWsW/znwyJBuDwGXJfmxJK8AbgTuneR4kqTp2PA1DEnuBt4OvCbJEeDDwNuTXMFguOZJ4Je7vq8DPl5V11XVySTvB74InAPcWVWPnpV/hSRpLKkaOcw+M/Pz87WysjLrMiRpy0iyv6rmN+rnE7mS1BBDX5IaYuhLUkMMfUlqiKEvSQ0x9CWpIYa+JDXE0Jekhhj6ktQQQ1+SGmLoS1JDDH1JaoihL0kNMfQlqSGGviQ1xNCXpIYY+pLUEENfkhqyYegnuTPJsSSPrGn7L0m+meTrSe5J8qoR2z6Z5BtJDibx9w8lacbGudL/BHDNurZ9wBur6p8CfwX8+kts/46qumKc326UJJ1dG4Z+VT0AnFjXdn9VnewWvwJcchZqkyRN2TTG9P8t8PkR6wq4P8n+JIsvtZMki0lWkqwcP358CmVJktbrFfpJ9gIngeURXa6sqrcA1wLvS/K2UfuqqqWqmq+q+bm5uT5lSZJGmDj0k9wMXA8sVFUN61NVR7vpMeAeYM+kx5Mk9TdR6Ce5Bvg14F1VtTqiz44k55+aB64GHhnWV5L08hjnls27gS8Dlyc5kuQW4DbgfGBfdzvm7V3f1yW5r9v0QuDBJA8DXwM+V1VfOCv/CknSWM7dqENV3TSk+Y4RfY8C13XzTwBv6lWdJGmqfCJXkhpi6EtSQwx9SWqIoS9JDTH0Jakhhr4kNcTQl6SGGPqS1BBDX5IaYuhLUkMMfUlqiKEvSQ0x9CWpIYa+JDXE0Jekhhj6ktQQQ1+SGmLoS1JDxgr9JHcmOZbkkTVtr06yL8lj3fSCEdve3PV5LMnN0ypcknTmxr3S/wRwzbq2DwF/VlWXAX/WLb9IklcDHwbeCuwBPjzqj4Mk6ewbK/Sr6gHgxLrmG4C7uvm7gHcP2fTngX1VdaKqvgPs4/v/eEiSXiZ9xvQvrKpnALrpa4f0uRh4es3yka7t+yRZTLKSZOX48eM9ypIkjXK2v8jNkLYa1rGqlqpqvqrm5+bmznJZktSmPqH/bJKLALrpsSF9jgCXrlm+BDja45iSpB76hP69wKm7cW4G/mRIny8CVye5oPsC9+quTZI0A+Pesnk38GXg8iRHktwCfBS4KsljwFXdMknmk3wcoKpOAL8FPNR9PtK1SZJmIFVDh9hnan5+vlZWVmZdhiRtGUn2V9X8Rv18IleSGmLoS1JDDH1pq1heht27Ydu2wXR5edYVaQs6d9YFSBrD8jIsLsLq6mD58OHBMsDCwuzq0pbjlb60FezdezrwT1ldHbRLZ8DQl7aCp546s3ZpBENf2gp27jyzdmkEQ1/aCm69FbZvf3Hb9u2DdukMGPrSVrCwAEtLsGsXJIPp0pJf4uqMefeOtFUsLBjy6s0rfUlqiKEvSQ0x9CWpIYa+JDXE0Jekhhj6ktQQQ1+SGmLoS1JDJg79JJcnObjm83ySD67r8/Ykz63p8xv9S5YkTWriJ3Kr6lvAFQBJzgH+GrhnSNe/qKrrJz2OJGl6pjW887PA/62qw1PanyTpLJhW6N8I3D1i3c8keTjJ55P85KgdJFlMspJk5fjx41MqS5K0Vu/QT/IK4F3A/xqy+gCwq6reBPx34I9H7aeqlqpqvqrm5+bm+pYlSRpiGlf61wIHqurZ9Suq6vmqeqGbvw84L8lrpnBMSdIEphH6NzFiaCfJjyZJN7+nO97fTOGYkqQJ9HqffpLtwFXAL69p+xWAqrodeA/wq0lOAn8H3FhV1eeYkqTJ9Qr9qloFfmRd2+1r5m8DbutzDEnS9PhEriQ1xNCXpIYY+pLUEENfkhpi6EtSQwx9SWqIoS9JDTH0Jakhhr4kNcTQl6SGGPqS1BBDX5IaYuhLUkMMfUlqiKEvSQ0x9CWpIYa+JDXE0JekhvQO/SRPJvlGkoNJVoasT5L/luTxJF9P8pa+x5QkTabXb+Su8Y6q+vaIddcCl3WftwK/100lSS+zl2N45wbgkzXwFeBVSS56GY4rSVpnGqFfwP1J9idZHLL+YuDpNctHurYXSbKYZCXJyvHjx6dQliRpvWmE/pVV9RYGwzjvS/K2deszZJv6voaqpaqar6r5ubm
2021-03-02 08:32:40 +01:00
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"# Prosty wykres punktowy\n",
"# Litery 'ro' oznaczają, że dane zostaną przedstawione za pomocą czerwonych kółek:\n",
"# 'r' ('red') – czerwone\n",
"# 'o' – kółko\n",
"# Zobacz też: https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot\n",
"\n",
2022-03-10 12:40:55 +01:00
"plt.plot([1,2,3,4], [1,4,9,16], 'ro')\n",
2021-03-17 11:29:33 +01:00
"plt.axis([0, 5, 0, 20]) # opcjonalnie ustawiamy zakres osi wykresu\n",
2021-03-02 08:32:40 +01:00
"\n",
"plt.show() # pokaż wykres"
]
},
{
"cell_type": "code",
2022-03-10 12:40:55 +01:00
"execution_count": 10,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"data": {
2022-03-10 11:08:21 +01:00
"image/png": "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
2021-03-17 10:44:12 +01:00
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Wykres danych wczytanych z pliku\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"\n",
"# Wczytanie danych\n",
"data = pd.read_csv('data1.tsv', sep='\\t')\n",
2022-03-10 12:40:55 +01:00
"\n",
"# konwersja Pandas DataFrame na numpy.array\n",
"# data_array = data.values # dla starszych wersji biblioteki Pandas\n",
"data_array = data.to_numpy() \n",
2021-03-17 10:44:12 +01:00
"\n",
"# Wybór kolumn do przedstawienia na wykresie\n",
2022-03-10 11:08:21 +01:00
"x = data_array[:, 5]\n",
"y = data_array[:, 0]\n",
2021-03-17 10:44:12 +01:00
"\n",
2021-03-17 11:37:25 +01:00
"plt.plot(x, y, 'gx') # \"gx\" - zielone (Green) krzyżyki (x)\n",
2022-03-10 11:08:21 +01:00
"plt.axis([0, 100, 0, 600000]) # opcjonalnie ustawiamy zakres osi wykresu\n",
2021-03-17 10:44:12 +01:00
"\n",
"plt.show() # pokaż wykres"
]
},
{
"cell_type": "code",
2022-03-10 12:40:55 +01:00
"execution_count": 11,
2021-03-17 10:44:12 +01:00
"metadata": {},
"outputs": [
{
"data": {
2022-03-10 12:40:55 +01:00
"image/png": "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
2021-03-02 08:32:40 +01:00
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# inicjalizacja\n",
"fig = plt.figure()\n",
"# dodanie \"podwykresu\" (zobacz: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.subplot )\n",
"ax = fig.add_subplot(111)\n",
"\n",
2021-03-17 11:37:25 +01:00
"ax.set_xlabel('x') # opis osi x\n",
"ax.set_ylabel('y') # opis osi y\n",
"ax.set_title('Wykres funkcji') # tytuł wykresu\n",
2021-03-02 08:32:40 +01:00
"\n",
2021-03-17 11:37:25 +01:00
"x = np.arange(0.0, 10.0, 0.01) # x przebiega zakres od 0 do 10 co 0.01\n",
2021-03-17 10:44:12 +01:00
"\n",
"# zdefiniowanie wartości y w zależności od x\n",
2021-03-17 11:37:25 +01:00
"y = np.sin(2*np.pi*x)\n",
2021-03-17 10:44:12 +01:00
"# spróbuj też inne funkcje:\n",
2021-03-17 11:37:25 +01:00
"# y = 2 * x**2 + 5 * x - 10\n",
2022-03-10 12:40:55 +01:00
"# y = np.sqrt(x)\n",
2021-03-17 10:44:12 +01:00
"\n",
2021-03-17 11:29:33 +01:00
"ax.plot(x, y, color='blue', lw=2) # \"lw\" oznacza grubość linii (Line Width)\n",
2021-03-02 08:32:40 +01:00
"\n",
"plt.show() # pokaż wykres"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Style wykresów"
]
},
{
"cell_type": "code",
2021-03-17 13:20:09 +01:00
"execution_count": 12,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"data": {
2022-03-10 12:40:55 +01:00
"image/png": "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
2021-03-02 08:32:40 +01:00
"text/plain": [
"<Figure size 720x576 with 3 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
2021-03-17 10:44:12 +01:00
"# Umieszczanie kilku układów współrzędnych i kilku wykresów na jednym rysunku\n",
"\n",
2021-03-02 08:32:40 +01:00
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# inicjalizacja zestawu wykresów\n",
"fig = plt.figure(figsize=(10,8))\n",
"\n",
"# wygenerowanie danych\n",
2021-03-17 11:29:33 +01:00
"x = np.arange(0.0, 1.0, 0.025)\n",
"y1 = np.sin(2*np.pi*x) + 5.0\n",
"y2 = np.sin(2*np.pi*x) + 2.5\n",
"y3 = np.sin(2*np.pi*x)\n",
2021-03-02 08:32:40 +01:00
"\n",
"# pierwszy wykres\n",
"ax1 = fig.add_subplot(3,1,1)\n",
2021-03-17 11:29:33 +01:00
"ax1.set_ylabel('y')\n",
"ax1.set_title('pierwszy wykres')\n",
2021-03-02 08:32:40 +01:00
"\n",
2021-03-17 11:29:33 +01:00
"ax1.plot(x, y1, color='red', lw=2) # pierwsza krzywa - czerwona\n",
"ax1.plot(x, y2, color='green', lw=2) # druga krzywa - zielona\n",
"ax1.plot(x, y3, color='#002d69', lw=2) # trzecia krzywa - kolor zdefiniowany szesnastkowo\n",
2021-03-02 08:32:40 +01:00
"\n",
"# drugi wykres\n",
"ax2 = fig.add_subplot(3,1,2)\n",
2021-03-17 11:29:33 +01:00
"ax2.set_ylabel('y')\n",
"ax2.set_title('drugi wykres')\n",
2021-03-02 08:32:40 +01:00
"\n",
2021-03-17 11:29:33 +01:00
"ax2.plot(x, y1, color='black', lw=2,linestyle=\"--\") # pierwsza krzywa - kreskowana\n",
"ax2.plot(x, y2, color='blue', lw=2,linestyle=\":\") # druga krzywa - kropkowana\n",
"ax2.plot(x, y3, color='#ff0000', lw=2,linestyle=\"-.\") # trzecia krzywa - kropkowano-kreskowana\n",
2021-03-02 08:32:40 +01:00
"\n",
"# trzeci wykres\n",
"ax3 = fig.add_subplot(3,1,3)\n",
2021-03-17 11:29:33 +01:00
"ax3.set_ylabel('y')\n",
"ax3.set_title('trzeci wykres')\n",
2021-03-02 08:32:40 +01:00
"\n",
2021-03-17 11:29:33 +01:00
"ax3.plot(x, y1, color='brown', marker=\"x\") # pierwsza krzywa - krzyżyki\n",
"ax3.plot(x, y2, color='purple', marker=\"o\") # druga krzywa - kółka\n",
"ax3.plot(x, y3, color='orange', marker=\"^\") # trzecia krzywa - trójkąty\n",
2021-03-02 08:32:40 +01:00
"\n",
"# dostosowanie odstępów pomiędzy wykresami\n",
"plt.subplots_adjust(wspace=0.2,hspace=.4)\n",
"\n",
"plt.show() # pokaż wykres"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wykresy trójwymiarowe – linie"
]
},
{
"cell_type": "code",
2021-03-17 13:20:09 +01:00
"execution_count": 13,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"data": {
2022-03-10 12:40:55 +01:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHBCAYAAABt62HAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOy9eZQc5X3v/e1teu/Z9xlpNs2mXSMxA0HY4BgcAsIgsx07xCFcjuwrR+AkfnNPHGznensTeEEYH4gxBmNjvAZjK+BriNG1AaENCYE03bPPdM/07EtX70vV+8fwlKp7eu/qru6Z53POHFBv9fRWz7d/21fGcRwoFAqFQqFQ1jNyqRdAoVAoFAqFkm2o4KFQKBQKhbLuoYKHQqFQKBTKuocKHgqFQqFQKOseKngoFAqFQqGse6jgoVAoFAqFsu5RJrie9qxTKBQKhUIpFGSxrqARHgqFQqFQKOseKngoFAqFQqGse6jgoVAoFAqFsu6hgodCoVAoFMq6J1HRMoVCoVAoGRMIBGCz2eD1eqVeCmUdoNFo0NDQAJVKlfR9ZAnMQ2mXFoVCoVAyZnR0FEajEeXl5ZDJYjbSUCgJ4TgOCwsLYBgGzc3NkVfTLi0KhUKhSIfX66VihyIKMpkM5eXlKUcLqeChUCgUSk6gYociFul8lqjgoVAoFMq6Z2xsDNu2bZN6GQXF8ePH8fbbb0u9DNGggodCoVAoFADBYFDqJaRMNtccT/AU4mtFu7QoFAqFsqEYGRnBwYMH8b3vfQ8XL17Ef/3Xf8Hr9cLlcuHqq6/Gb37zGwDA3Nwcrr/+ejQ0NKCiogJHjhwBAPzzP/8zqqurYTab8YlPfAIHDhzArbfeitLSUvzgBz/AM888g9HRUXz961/HJz/5SVitVni9Xhw5cgT333//mvU0NTXhzjvvxBtvvAEA+MlPfoK2tjb89re/xde//nX4/X6Ul5fjhRdeQHV1Nb761a9iamoKY2NjqKiowDe/+U381V/9FVwuFwDgiSeewFVXXYXjx4/jK1/5Cqqrq3H+/Hncdttt2L59O44ePQqPx4Nf//rXaG1txdzcHA4dOoSJiQkAwGOPPYb6+no89dRTUCgU+PGPf4zvfOc7eOaZZ1BWVoZz585h165dOHbsGN5++21UVlaCZVm0t7fjnXfeQSgUwqFDhzAyMgIAePLJJ3HhwgU89dRTAICVlRU0NTXhjTfegMFgwJEjR3Ds2DFotVq8/PLLqK6ujvncM4EKHgqFQqHklK/99iIuTTlEfczuOhO+cvPWhLezWCy466678Oyzz2LXrl24ePEiTpw4gQsXLqCsrAwA8K//+q9YWVnB/v37cfjwYZSXl+O2227DkSNHwLIsfvrTn+LUqVN47bXX8Kc//QkHDhzA5OQk7HY7AODNN9/EXXfdBQD4wQ9+gLKyMng8Huzbtw8HDx5EeXn5mnWZTCacOnUKzz//PB544AEcO3YMV199Nd555x3IZDJ8//vfx7/927/hkUceAQCcPXsWb775JrRaLdxuN1577TVoNBoMDg7i7rvvxpkzZwAA7733Hvr7+1FWVoaWlhbcd999OHXqFI4ePYrvfOc7eOyxx3DkyBE8+OCDuPrqqzExMYEbbrgB/f39OHToEAwGA/7hH/4BAPDMM89gYGAAr7/+OhQKBUpKSvDCCy/ggQcewOuvv46dO3eioqICd955Jz7ykY/gpZdeQigUgtPpxFVXXYVDhw4hEAjguuuuwxe/+EUAgMvlQl9fH77xjW/gS1/6Ep5++ml8+ctfjvvc04UKHgqFQqFsCObm5nDLLbfgV7/6FbZuvSyOPv7xj/NiB1hte/70pz+NBx98ED09PQCA8vJynDt3DjMzM9i9ezfKy8uxf/9+PPbYY7h06RK6u7uxtLQEu92OEydO4PHHHwcAPP7443jppZcAAFarFYODg1EFz913383/98EHHwQA2Gw23HnnnbDb7fD7/WEt2AcOHIBWqwWwOuPo8OHDOH/+PBQKBQYGBvjb7du3D7W1tQCA1tZWXH/99QCA7du38xGl119/HZcuXeLv43A4wDBM1Nfw9ttvh0KhAADce++9uOWWW/DAAw/gBz/4Af7mb/4GAPCHP/wBzz//PABAoVCguLiYv/+RI0dw3XXX4eabbwYAFBUV4aabbgIA9PT04LXXXkv43NOFCh4KhUKh5JRkIjHZoLi4GI2NjXjrrbfCBI9erw+73Ve/+lU0NDTwGzgA3HfffXjuuecwPT2Ne++9FwBQX1+PpaUl/O53v8M111yDxcVF/PznP4fBYIDRaMTx48fx+uuv48SJE9DpdPjoRz8as5Va2HVE/v8LX/gCvvjFL+LAgQM4fvw4vvrVr0Zd86OPPorq6mq89957YFkWGo2Gv06tVvP/L5fL+X/L5XK+DodlWZw4cYIXUPEQHrexsRHV1dX4wx/+gJMnT+KFF16Ie9/nnnsO4+PjeOKJJ/jLVCoV/3wVCgW/pnjPPV1o0TKFQqFQNgRFRUX49a9/jeeffx4/+clPot7m2LFjeO211/gIDeHWW2/F7373O5w+fRo33HADf/mVV16Jxx57DNdccw3279+Phx9+GPv37wewWqtSWloKnU4Hs9mMd955J+bafvazn/H/vfLKK/n719fXAwB++MMfxrzvysoKamtrIZfL8aMf/QihUCiJV+My119/fZgIOX/+PADAaDTGjPQQ7rvvPnzmM5/BHXfcwUd+Pvaxj+HJJ58EAIRCITgcDpw9exYPP/wwfvzjH0MuTyw9kn3uqUAFD4VCoVA2DHq9HseOHcOjjz6Kl19+ec31jzzyCKampnDFFVdg165deOihhwCsiqVrr702bGMHgP379yMYDKKtrQ179uzB4uIiL3g+8YlPIBgMYseOHfiXf/kX9PX1xVyXz+dDb28vjh49ikcffRTAaqTp9ttvx/79+1FRURHzvp///Ofxwx/+EH19fRgYGFgTsUrE448/jjNnzmDHjh3o7u7mi4tvvvlmvPTSS9i1axf+9Kc/Rb3vgQMH4HQ6w6JhR48exRtvvIHt27ejp6cHFy9exBNPPIHFxUVce+212LVrF+677764a0r2uacCtZagUCgUStbp7+9HV1eX1MtIG5ZlsWfPHvziF7/Ali1bRH3spqYmnDlzRrSNPZecOXMGDz74YExBlE1ifKaotQSFQqFQKOlw6dIltLW14WMf+5joYqeQ+fa3v42DBw/iW9/6ltRLSQoa4aFQKBRK1in0CA8l/6ARHgqFQqFQKJQIqOChUCgUSk5IkFGgUJImnc8SFTwUCoVCyToajQYLCwtU9FAyhuM4LCwshM0bSgZaw0OhUCiUrBMIBGCz2WIO3qNQUkGj0aChoQEqlSryqpg1PFTwUCgUCoVCWS/QomUKhUKhUCgbFyp4KBQKhUKhrHuo4KFQCgyO48CyLC3+pFAolBSgbukUSgHBsiwCgQA8Hg9kMhmUSiUUCgX/J5PJwlyXKRQKhbIKLVqmUAoAjuMQCAR4F2S/3w+ZTMZHe4jIkclkUCgUYUKIiiAKhbKBoF1aFEohwnEcgsEggsEgAPDChQieaLcnf+Tfcrk8TATJ5XLI5XIqgigUynok5omNprQolDyE4ziEQiEEg0FwHBcWpYn3IyVaNEf4WEIUCgVUKhUVQRQKZUNAIzwUSp5B6nRIqkooQliWhc1mw/T0NPR6PYxGI4xGI3Q6XUpihUSBpqenEQqFUFdXBwB8JEipVFIRRKFQChEa4aFQ8h2WZREMBhEKhXihIxQbCwsLGBgYQHl5OTo6OuDxeOBwODA/Pw+32w2lUgmj0QiDwQCTyRRXBEU+vkKh4OuBfD4fvF5v2HWRKTEqgigUSqFBIzwUisREq9MRCgqXywWLxQK5XI729nZotdqoNTyBQAAMw8DpdMLhcMDtdkOhUPBRIBIJkssvT6OYnp6G3+/Hpk2bYq5NWBNEkMvlfCSIiiAKhZJH0KJlCiXfiFenA6wKmOHhYSwvL6OjowOlpaX8/WIVLUcSDAbBMAz/53a7IZPJeAHk8/kgl8uxefPmlNa
2021-03-02 08:32:40 +01:00
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib as mpl\n",
"from mpl_toolkits.mplot3d import Axes3D\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"fig = plt.figure(figsize=(10,8))\n",
"ax = fig.add_subplot(111, projection='3d')\n",
"\n",
"theta = np.linspace(-4 * np.pi, 4 * np.pi, 50)\n",
"z = np.linspace(-2, 2, 50)\n",
"r = z**2 + 1\n",
"x = r * np.sin(theta)\n",
"y = r * np.cos(theta)\n",
"\n",
2021-03-17 11:37:25 +01:00
"ax.plot(x, y, z, label='krzywa parametryczna')\n",
2021-03-02 08:32:40 +01:00
"ax.legend() # pokaż legendę wykresu\n",
"\n",
"plt.show() # pokaż wykres"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wykresy trójwymiarowe – powierzchnie"
]
},
{
"cell_type": "code",
2022-03-10 12:40:55 +01:00
"execution_count": 14,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"data": {
2022-03-10 12:40:55 +01:00
"image/png": "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
2021-03-02 08:32:40 +01:00
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from mpl_toolkits.mplot3d import Axes3D # niezbędne do rysowania powierzchni w 3 wymiarach\n",
"from matplotlib import cm\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"fig = plt.figure(figsize=(10,8))\n",
"ax = fig.add_subplot(111, projection='3d')\n",
"\n",
"X = np.arange(-5, 5, 0.25)\n",
"Y = np.arange(-5, 5, 0.25)\n",
"X, Y = np.meshgrid(X, Y) # wygenerowanie tablicy danych wejściowych dla wykresu trójwymiarowego\n",
2021-03-17 10:44:12 +01:00
"\n",
"# obliczenie wartości rzędnych\n",
"Z = np.sqrt(X**2 + Y**2) \n",
"# Spróbuj też innych funkcji\n",
"# Z = np.sin(np.sqrt(X**2 + Y**2)) \n",
"# Z = np.cos(X + Y) \n",
"# Z = X**2 * Y\n",
2021-03-02 08:32:40 +01:00
"\n",
"surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.jet,\n",
" linewidth=0, antialiased=True)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wykresy kolumnowe"
]
},
{
"cell_type": "code",
2021-03-17 13:20:09 +01:00
"execution_count": 15,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"data": {
2022-03-10 12:40:55 +01:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAl4AAAH7CAYAAAAdGJFGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de5gcZZn38e+dAwliCATCMdEAAsImEdiEgyCwgATwAHhAWUVdRFxWdxERRV9R3BVlxQOCB4SFBREhrujCC65yEF4WgkiQcDKooBACLE4CSIiAJNzvH1WTbYaZZALTT9fMfD/X1dd0V1VX3T339MxvnqquisxEkiRJ7Tei0wVIkiQNFwYvSZKkQgxekiRJhRi8JEmSCjF4SZIkFWLwkiRJKsTgJaltIiIj4lWdrmMwacr3LCLui4h9Ol2HNNQYvKRBJCJ2i4g5EfGniHg0Im6IiJmdrkuS1D+jOl2ApP6JiLWBy4CjgB8AawCvA54Z4O2MzMzlA7nOkiIigMjM5zpdy3AUEaMyc1mn65CayhEvafDYCiAzL8zM5Zn5VGZekZm3dy8QER+IiPkRsSQifh0RO9TTt4mIayPi8Yi4KyLe3PKccyPi2xHxk4hYCvxNRIyJiC9HxIKIeCQizoiINevl14+Iy+p1PRoR/x0RK/tdckBE/D4iFkXEKRExol7/oxExraWODSLiqYiY2HMFETEyIr5Sr+MPEfHhepfcqHr+tRFxUkTcAPwZ2DwiNomIS+vt3BMRH+jxmj/f8njPiFjY8vi+iPhk/T18LCL+PSLG9vbiImKLiPh5RCyu67sgItbpsa6PRcTt9Ujl7NZ1RcRxEfFwRDwUEYev5PtIRGwWEdfV/b0qIr4ZEd9rmb9zPSL6eETcFhF7tsy7NiL+pR4lXRIRV0TE+i3zD4uI++vX8X96bHdERBwfEffW838QERPqeVPqXrw/IhYAP1/Za5CGO4OXNHj8FlgeEedFxP4RsW7rzIh4O3Ai8B5gbeDNwOKIGA38X+AKYAPgH4ELImLrlqf/LXASMA64HvhXqqC3HfAqYFPgM/WyxwILgYnAhsCngJVde+xgYAawA3AgcHhmPgNcBLy7ZblDgasys6uXdXwA2L+uZwfgoF6WOQw4sn4N9wMX1nVuArwN+EJE7L2SOnt6FzAL2ILqe/HpPpYL4Iv1drYBJlP1odUhwH7AZsB04H0AEbEf8DHg9cCWwKqOqfo+8EtgvXobh60oImJT4HLg88CEer0X9wiyfwv8HdXPwRr1MkTEtsC36/VtUq9/Usvz/onqe75HPf8x4Js9atujfv2zVvEapOEtM7158zZIblR/2M6lChTLgEuBDet5PwOO7uU5rwP+BxjRMu1C4MT6/rnAd1vmBbAU2KJl2i7AH+r7/wxcAryqH/UmsF/L438Arq7v7wQ80F0XMBc4pI/1/Bz4YMvjfep1j6ofXwv8c8v8ycByYFzLtC8C57a85s+3zNsTWNjy+D7g71seHwDc288eHQTc2mNd7255/CXgjPr+OcDJLfO2ql/XC763wCvqnr+sZdr3gO/V9z8BnN/jOT8D3tvyPfp0j178tL7/GeCilnlrAX8B9qkfzwf2bpm/MfAs1eEqU+qaN+/0+8Obt8Fwc8RLGkQyc35mvi8zJwFTqUYfTq1nTwbu7eVpmwAP5POPebqfahSr2wMt9ycCLwNuqXdZPQ78tJ4OcApwD3BFvQvx+FWU3bru++t6yMybqALeHhHxaqqRtUv7WMcmPdbzQC/LtE7bBHg0M5f02Pam9F+vdfdU7yK9KCIejIgnqMLQ+j0W+5+W+38GXt5SZ8/t9KX7Nf25jxpfCby9u2d133ajCkmrVUdmLgUW91j3j1vWO58q2G7YRy2S+mDwkgapzLybauRmaj3pAardYj09BEzucRzWK4AHW1fXcn8R8BTwV5m5Tn0bn5kvr7e7JDOPzczNgTcBH13FLrzJPbb7UMvj86h2Nx4G/DAzn+5jHQ/z/F1fk3tZpvU1PARMiIhxPbbd/ZqXUoXLbhutZt2tvlhve3pmrk31eqKPZXt6uJftrGzZCRHRWnfrcx+gGvFap+W2VmaevLp11NtYr8e69++x7rGZ2dfPkKQ+GLykQSIiXh0Rx0bEpPrxZKrjon5RL/JvwMci4q+j8qqIeCXQPbL08YgYXR9w/SaqY6xeoB4ZOwv4WkRsUG9r04iYVd9/Y73uAJ6gGvlY2acgj4uIdet6jwZmt8w7n+oYsHcD313JOn4AHF3XsQ7VbrU+ZeYDwBzgixExNiKmA+8HLqgXmUd10P+EiNgI+Egvq/lQREyqDyL/VI+6W40DngQer4+zOm5ltfXyut4XEdvWYeezK3lN91Ptjj0xItaIiF2o+tjte8CbImJWVB9GGFt/aGBSryt8vh8Cb4zqdCVrUO1Obv37cAZwUv3zRERMjIgDV+N1SqoZvKTBYwnVcVE3RfXpw18Ad1Id7E5m/gfVAfLfr5f9T2BCZv6F6kD7/alGs74FvKceMevLJ6h2J/6i3n12FdB9MP6W9eMngRuBb2XmtStZ1yXALVRh53Lg7O4ZmbkQ+BXVaMl/r2QdZ1F9OOB24FbgJ1THO60s8B1KdfzRQ8CPgc9m5pX1vPOB26iOv7qC3kPV9+t5v69vn+9lGYDPUR3w/6f69f1oJTU9T2b+F9Wu4p9Tfb9X9YnAd1Edb7e4rmc29elE6rB5IFVI7KIapTqOfvyez8y7gA9RveaHqQ6eX9iyyNepdgNfERFLqH72durPa5T0fJHp6LCkzomIc4CHMrOvTw329pz9qQ5Qf2WbaroPOCIzr2rH+gdKRMwG7s7MPkfKJDWLI16SOiYipgBvoWUUrI/l1oyIAyJiVL0777NUo1jDSkTMjOq8YSPqU1EcSDWyKWmQMHhJ6oiI+BeqXaWnZOYfVrU41S69x6h2Nc7nf88rNpxsRHVaiCeB04CjMvPWjlYkabW4q1GSJKkQR7wkSZIKMXhJkiQVMqrTBfTH+uuvn1OmTOl0GZIkSat0yy23LMrMib3NGxTBa8qUKcydO7fTZUiSJK1SRPR5+S93NUqSJBVi8JIkSSrE4CVJklTIoDjGS5IklfXss8+ycOFCnn766U6X0lhjx45l0qRJjB49ut/PMXhJkqQXWLhwIePGjWPKlClERKfLaZzMZPHixSxcuJDNNtus389zV6MkSXqBp59+mvXWW8/Q1YeIYL311lvtEUGDlyRJ6pWha+VezPfH4CVJkhopIjjssMNWPF62bBkTJ07kjW98Yweremk8xkuSJK3SQA9+Za56mbXWWos777yTp556ijXXXJMrr7ySTTfddGALKcwRL0mS1Fj7778/l19+OQAXXnghhx566Ip5S5cu5fDDD2fmzJlsv/32XHLJJQCce+65vOUtb2G//fZjyy235OMf/3hHau+NwUuSJDXWO9/5Ti666CKefvppbr/9dnbaaacV80466ST22msvbr75Zq655hqOO+44li5dCsC8efOYPXs2d9xxB7Nnz+aBBx7o1Et4Hnc1SpKkxpo+fTr33XcfF154IQcccMDz5l1xxRVceumlfPnLXwaqT2IuWLAAgL333pvx48cDsO2223L//fczefLkssX3wuAlSZIa7c1vfjMf+9jHuPbaa1m8ePGK6ZnJxRdfzNZbb/285W+66SbGjBmz4vHIkSNZtmxZsXpXxl2NkiSp0Q4//HA+85nPMG3atOdNnzVrFqeffjpZH6l/6623dqK81WLwkiRJjTZp0iSOPvroF0w/4YQTePbZZ5k+fTpTp07lhBNO6EB1qyeyP5/n7LAZM2bk3LlzO12GJEnDxvz589lmm206XUbj9fZ9iohbMnNGb8s74iVJklSIwUuSJKkQg5eGnoiBP8WyJEkDwOAlSZJUiMFLkiSpEIOXJElSIQYvSZLUOMcccwynnnrqisezZs3iiCOOWPH42GOP5atf/WonSntJDF6SJGnVuj+4NFC3VXjta1/LnDlzAHjuuedYtGgRd91114r5c+bMYdddd23by20Xg5ckSWqcXXfddUX
2021-03-02 08:32:40 +01:00
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# data: scores in five groups for men and women\n",
"N = 5\n",
"menMeans = [18, 35, 30, 35, 27]\n",
"menStd = [2, 3, 4, 1, 2]\n",
"womenMeans = [25, 32, 34, 20, 25]\n",
"womenStd = [3, 5, 2, 3, 3]\n",
"\n",
"# start creating figure\n",
"fig = plt.figure(figsize=(10,8))\n",
"ax = fig.add_subplot(111)\n",
"\n",
"# necessary variables\n",
"LOCATIONS = np.arange(N) # the x locations for the groups\n",
"WIDTH = 0.35 # the width of the bars\n",
"\n",
"# the bars\n",
"rects_m = ax.bar(LOCATIONS, menMeans, WIDTH,\n",
" color='blue',\n",
" yerr=menStd,\n",
" error_kw=dict(elinewidth=2,ecolor='red'))\n",
"\n",
"rects_f = ax.bar(LOCATIONS+WIDTH, womenMeans, WIDTH,\n",
" color='red',\n",
" yerr=womenStd,\n",
" error_kw=dict(elinewidth=2,ecolor='blue'))\n",
"\n",
"# axes and labels\n",
"ax.set_xlim(-WIDTH, len(LOCATIONS))\n",
"ax.set_ylabel(\"Scores\")\n",
"ax.set_title(\"Scores by group and gender\")\n",
"xTickMarks = [\"Group {}\".format(i) for i in range(1,6)]\n",
"ax.set_xticks(LOCATIONS + WIDTH)\n",
"xtickNames = ax.set_xticklabels(xTickMarks)\n",
"plt.setp(xtickNames, rotation=45, fontsize=10)\n",
"\n",
"# add a legend\n",
"ax.legend( (rects_m[0], rects_f[0]), ('Men', 'Women') )\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wykresy punktowe"
]
},
{
"cell_type": "code",
2021-03-17 13:20:09 +01:00
"execution_count": 16,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"data": {
2022-03-10 12:40:55 +01:00
"image/png": "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
2021-03-02 08:32:40 +01:00
"text/plain": [
"<Figure size 1080x504 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"fig = plt.figure(figsize=(15,7))\n",
"\n",
"# left panel\n",
"N = 1000\n",
"ax1 = fig.add_subplot(121)\n",
"\n",
"x = np.random.randn(N)\n",
"y = np.random.randn(N)\n",
"ax1.scatter(x, y, color='blue', s=10, edgecolor='none')\n",
"# make axes square\n",
"ax1.set_aspect(1. / ax1.get_data_ratio()) \n",
"\n",
"# right panel\n",
"ax2 = fig.add_subplot(122)\n",
"props = dict(alpha=0.5, edgecolors='none')\n",
"\n",
"M = 200\n",
"colors = ['blue', 'green', 'magenta', 'cyan']\n",
"handles = []\n",
"\n",
"for color in colors:\n",
" x = np.random.randn(M)\n",
" y = np.random.randn(M)\n",
" size = np.random.randint(25,200)\n",
" handles.append(ax2.scatter(x, y, c=color, s=size, **props))\n",
"\n",
"#ax2.set_ylim([-5,10])\n",
"#ax2.set_xlim([-5,10])\n",
"\n",
"ax2.legend(handles, colors)\n",
"ax2.grid(True)\n",
"ax2.set_aspect(1./ax2.get_data_ratio())\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Histogramy"
]
},
{
"cell_type": "code",
2021-03-17 13:20:09 +01:00
"execution_count": 17,
2021-03-02 08:32:40 +01:00
"metadata": {},
"outputs": [
{
"data": {
2022-03-10 12:40:55 +01:00
"image/png": "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
2021-03-02 08:32:40 +01:00
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"fig = plt.figure(figsize=(10, 8))\n",
"ax = fig.add_subplot(111)\n",
"\n",
"x = np.random.normal(0, 1, 1000)\n",
"num_bins = 50\n",
"ax.hist(x, num_bins, color='green', alpha=0.8)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Zadania"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Zadania podstawowe"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Zadanie 2.1 (2 punkty)\n",
"\n",
"Wybierz dwie dowolne kolumny (z wyjątkiem pierwszej) z pliku *data2.csv*. Przedstaw zależność między tymi danymi na wykresie punktowym (wartości z jednej kolumny powinny znaleźć się na jednej osi, a wartości z drugiej kolumny – na drugiej osi)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2021-03-17 10:44:12 +01:00
"### Zadanie 2.2A (2 punkty)\n",
2021-03-02 08:32:40 +01:00
"\n",
"Wygeneruj wykres funkcji $y = f(x) = (a - 4) \\, x^2 + (b - 5) \\, x + (c - 6)$, gdzie $a, b, c$ to trzy ostatnie cyfry Twojego numeru indeksu. Pamiętaj o opisaniu osi wykresu ($x$ oraz $y$)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Zadania zaawansowane"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2021-03-17 10:44:12 +01:00
"### Zadanie 2.2B (1 punkt)\n",
2021-03-02 08:32:40 +01:00
"\n",
"Na wykresie z zadania 2.2 przedstaw dodatkowo wykres funkcji $y = g(x) = \\frac{e^x}{e^x + 1}$. Linie przestawiające funkcje $y = f(x)$ i $y = g(x)$ powinny znaleźć się na tym samym wykresie, ale powinny różnić się kolorami. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2021-03-17 10:44:12 +01:00
"### Zadanie 2.3 (2 punkty)\n",
2021-03-02 08:32:40 +01:00
"\n",
2021-03-17 13:20:09 +01:00
"Stwórz trójwymiarowy (powierzchniowy) wykres funkcji $f(x,y) = -(x^2 + y^3)$.\n",
2021-03-02 08:32:40 +01:00
"\n",
"Wykres powinien przedstawiać powierzchnię $z = -(x^2 + y^3)$."
]
}
],
"metadata": {
"celltoolbar": "Slideshow",
"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",
2022-03-10 11:08:21 +01:00
"version": "3.7.6"
2021-03-02 08:32:40 +01:00
},
"livereveal": {
"start_slideshow_at": "selected",
"theme": "amu"
}
},
"nbformat": 4,
"nbformat_minor": 4
}