2025-0415 Code after lecture
parent
bb72e110a5
commit
27608afa99
|
@ -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()
|
|
@ -0,0 +1,3 @@
|
||||||
|
Main examples site
|
||||||
|
https://matplotlib.org/stable/gallery/index.html
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
# pip install matpplotlib
|
# pip install matpplotlib
|
||||||
|
|
||||||
from matplotlib import pyplot as plt
|
from matplotlib import pyplot as plt
|
||||||
labels = [ "Python", "Java", "HTML", "C#", "Javascript"]
|
labels = [ "Python", "Java", "HTML", "C#", "Javascript"]
|
||||||
data = [95,80,65,80,95]
|
data = [95,80,65,80,95]
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Basic Tutorial
|
||||||
|
https://numpy.org/doc/stable/user/absolute_beginners.html
|
|
@ -0,0 +1,3 @@
|
||||||
|
Main site
|
||||||
|
https://plotly.com/python/
|
||||||
|
|
|
@ -6,7 +6,7 @@ import pprint
|
||||||
|
|
||||||
def get_joke():
|
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)
|
response = urllib.request.urlopen(url)
|
||||||
result = json.loads(response.read())
|
result = json.loads(response.read())
|
||||||
|
@ -24,6 +24,6 @@ joke = get_joke()
|
||||||
|
|
||||||
#prettyPrintDictionary(joke)
|
#prettyPrintDictionary(joke)
|
||||||
|
|
||||||
print(joke['value']['joke'])
|
print(joke['value'])
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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)
|
|
@ -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)
|
|
@ -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)
|
Binary file not shown.
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue