diff --git a/bigos/lecture20250415/matplotlib/linestyles.py b/bigos/lecture20250415/matplotlib/linestyles.py new file mode 100644 index 0000000..ff8878d --- /dev/null +++ b/bigos/lecture20250415/matplotlib/linestyles.py @@ -0,0 +1,62 @@ + +# https://matplotlib.org/stable/gallery/lines_bars_and_markers/linestyles.html + +import matplotlib.pyplot as plt +import numpy as np + +linestyle_str = [ + ('solid', 'solid'), # Same as (0, ()) or '-' + ('dotted', 'dotted'), # Same as ':' + ('dashed', 'dashed'), # Same as '--' + ('dashdot', 'dashdot')] # Same as '-.' + +linestyle_tuple = [ + ('loosely dotted', (0, (1, 10))), + ('dotted', (0, (1, 5))), + ('densely dotted', (0, (1, 1))), + + ('long dash with offset', (5, (10, 3))), + ('loosely dashed', (0, (5, 10))), + ('dashed', (0, (5, 5))), + ('densely dashed', (0, (5, 1))), + + ('loosely dashdotted', (0, (3, 10, 1, 10))), + ('dashdotted', (0, (3, 5, 1, 5))), + ('densely dashdotted', (0, (3, 1, 1, 1))), + + ('dashdotdotted', (0, (3, 5, 1, 5, 1, 5))), + ('loosely dashdotdotted', (0, (3, 10, 1, 10, 1, 10))), + ('densely dashdotdotted', (0, (3, 1, 1, 1, 1, 1)))] + + +def plot_linestyles(ax, linestyles, title): + X, Y = np.linspace(0, 100, 10), np.zeros(10) + yticklabels = [] + + for i, (name, linestyle) in enumerate(linestyles): + ax.plot(X, Y+i, linestyle=linestyle, linewidth=1.5, color='black') + yticklabels.append(name) + + ax.set_title(title) + ax.set(ylim=(-0.5, len(linestyles)-0.5), + yticks=np.arange(len(linestyles)), + yticklabels=yticklabels) + ax.tick_params(left=False, bottom=False, labelbottom=False) + ax.spines[:].set_visible(False) + + # For each line style, add a text annotation with a small offset from + # the reference point (0 in Axes coords, y tick value in Data coords). + for i, (name, linestyle) in enumerate(linestyles): + ax.annotate(repr(linestyle), + xy=(0.0, i), xycoords=ax.get_yaxis_transform(), + xytext=(-6, -12), textcoords='offset points', + color="blue", fontsize=8, ha="right", family="monospace") + + +fig, (ax0, ax1) = plt.subplots(2, 1, figsize=(7, 8), height_ratios=[1, 3], + layout='constrained') + +plot_linestyles(ax0, linestyle_str[::-1], title='Named linestyles') +plot_linestyles(ax1, linestyle_tuple[::-1], title='Parametrized linestyles') + +plt.show() \ No newline at end of file diff --git a/bigos/lecture20250415/matplotlib/matplotlib links.txt b/bigos/lecture20250415/matplotlib/matplotlib links.txt new file mode 100644 index 0000000..f369309 --- /dev/null +++ b/bigos/lecture20250415/matplotlib/matplotlib links.txt @@ -0,0 +1,3 @@ +Main examples site +https://matplotlib.org/stable/gallery/index.html + diff --git a/bigos/lecture20250415/matplotlib/piechartdemo1.py b/bigos/lecture20250415/matplotlib/piechartdemo1.py index 247c8ab..2624c21 100644 --- a/bigos/lecture20250415/matplotlib/piechartdemo1.py +++ b/bigos/lecture20250415/matplotlib/piechartdemo1.py @@ -1,4 +1,5 @@ # pip install matpplotlib + from matplotlib import pyplot as plt labels = [ "Python", "Java", "HTML", "C#", "Javascript"] data = [95,80,65,80,95] diff --git a/bigos/lecture20250415/numpy/numpy-links.txt b/bigos/lecture20250415/numpy/numpy-links.txt new file mode 100644 index 0000000..c0ef717 --- /dev/null +++ b/bigos/lecture20250415/numpy/numpy-links.txt @@ -0,0 +1,2 @@ +Basic Tutorial +https://numpy.org/doc/stable/user/absolute_beginners.html \ No newline at end of file diff --git a/bigos/lecture20250415/plotly/plotly-links.txt b/bigos/lecture20250415/plotly/plotly-links.txt new file mode 100644 index 0000000..d48668e --- /dev/null +++ b/bigos/lecture20250415/plotly/plotly-links.txt @@ -0,0 +1,3 @@ +Main site +https://plotly.com/python/ + diff --git a/bigos/lecture20250415/urllib/chuck-norris-db.py b/bigos/lecture20250415/urllib/chuck-norris-db.py index 9100594..6ecf24a 100644 --- a/bigos/lecture20250415/urllib/chuck-norris-db.py +++ b/bigos/lecture20250415/urllib/chuck-norris-db.py @@ -6,7 +6,7 @@ import pprint def get_joke(): - url = "http://api.icndb.com/jokes/random?limitTo=nerdy " + url = "https://api.chucknorris.io/jokes/random?limitTo=nerdy " response = urllib.request.urlopen(url) result = json.loads(response.read()) @@ -24,6 +24,6 @@ joke = get_joke() #prettyPrintDictionary(joke) -print(joke['value']['joke']) +print(joke['value']) diff --git a/bigos/lecture20250415/urllib/iss/iss-1.py b/bigos/lecture20250415/urllib/iss/iss-1.py new file mode 100644 index 0000000..e05bf91 --- /dev/null +++ b/bigos/lecture20250415/urllib/iss/iss-1.py @@ -0,0 +1,16 @@ + +import json +import urllib.request +import turtle + +import pprint + +import time + +url = 'http://api.open-notify.org/astros.json' +response = urllib.request.urlopen(url) +result = json.loads(response.read()) + +print(result) + +pprint.pprint(result) diff --git a/bigos/lecture20250415/urllib/iss/iss-3.py b/bigos/lecture20250415/urllib/iss/iss-3.py new file mode 100644 index 0000000..fc11249 --- /dev/null +++ b/bigos/lecture20250415/urllib/iss/iss-3.py @@ -0,0 +1,37 @@ + +import json +import urllib.request +import turtle + +import time + +url = 'http://api.open-notify.org/astros.json' +response = urllib.request.urlopen(url) +result = json.loads(response.read()) +import pprint + +print(result) + +print("People on the ISS: ",result['number']) +people = result['people'] +#print(people) + +#for person in people: +# print(person) + +for person in people : + print(person['name']) + + +url = 'http://api.open-notify.org/iss-now.json' +response = urllib.request.urlopen(url) +result = json.loads(response.read()) + +print(result) + +location = result['iss_position'] +latitude = location['latitude'] +longitude = location['longitude'] + +print('Latitude: ',latitude) +print('Longitude: ',longitude) diff --git a/bigos/lecture20250415/urllib/iss/iss-4.py b/bigos/lecture20250415/urllib/iss/iss-4.py new file mode 100644 index 0000000..9c838ce --- /dev/null +++ b/bigos/lecture20250415/urllib/iss/iss-4.py @@ -0,0 +1,55 @@ + +import json +import urllib.request +import turtle + +import time + +url = 'http://api.open-notify.org/astros.json' +response = urllib.request.urlopen(url) +result = json.loads(response.read()) + +print(result) + +print("People on the ISS: ",result['number']) +people = result['people'] +#print(people) + +#for person in people: +# print(person) + +for person in people : + print(person['name']) + + +url = 'http://api.open-notify.org/iss-now.json' +response = urllib.request.urlopen(url) +result = json.loads(response.read()) + +print(result) + +location = result['iss_position'] +latitude = location['latitude'] +longitude = location['longitude'] + +print('Latitude: ',latitude) +print('Longitude: ',longitude) + +screen = turtle.Screen() + +screen.setup(720,360) +screen.setworldcoordinates(-180,-90,180,90) +screen.bgpic('map.gif') + + +screen.register_shape('iss.gif') +iss = turtle.Turtle() +iss.shape('iss.gif') +iss.setheading(90) + +iss.penup() +iss.goto(float(longitude),float(latitude) ) + +# Print the map + +time.sleep(10) diff --git a/bigos/lecture20250415/urllib/iss/iss-project-resources.zip b/bigos/lecture20250415/urllib/iss/iss-project-resources.zip new file mode 100644 index 0000000..ba32cf1 Binary files /dev/null and b/bigos/lecture20250415/urllib/iss/iss-project-resources.zip differ diff --git a/bigos/lecture20250415/urllib/iss/result.html b/bigos/lecture20250415/urllib/iss/result.html new file mode 100644 index 0000000..65aaafd --- /dev/null +++ b/bigos/lecture20250415/urllib/iss/result.html @@ -0,0 +1,10415 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +