• Non ci sono risultati.

Grafica in linguaggio Python

N/A
N/A
Protected

Academic year: 2021

Condividi "Grafica in linguaggio Python"

Copied!
14
0
0

Testo completo

(1)

Grafica in linguaggio Python

Università Roma Tre – Dipartimento di Matematica e Fisica M. Liverani, Laboratorio di ottimizzazione combinatoria

(2)

Il modulo «pylab» della libreria MatPlotLib

import matplotlib.pylab as pl x = [1, 2, 3, 4, 5, 6]

y = [1, 4, 9, 16, 25, 36]

pl.plot(x, y) pl.show()

Per la libreria MatPlotLib vedi:

https://matplotlib.org Installazione:

python3 –m pip install matplotlib

(3)

Il modulo «pylab» della libreria MatPlotLib

import matplotlib.pylab as pl x = [1, 2, 3, 4, 5, 6]

y = [1, 4, 9, 16, 25, 36]

pl.plot(x, y, "b-") pl.plot(x, y, "ro") pl.show()

Università Roma Tre – Dipartimento di Matematica e Fisica

M. Liverani, Laboratorio di ottimizzazione combinatoria 2

(4)

Il modulo «pylab» della libreria MatPlotLib

import matplotlib.pylab as pl x = [1, 2, 3, 4, 5, 6]

y = [1, 4, 9, 16, 25, 36]

pl.plot(x, y, "b-") pl.plot(x, y, "ro")

y = [36, 25, 16, 9, 4, 1]

pl.plot(x,y,"g-") pl.plot(x,y,"yo") pl.show()

(5)

Il modulo «pylab» della libreria MatPlotLib | Grafici di funzione

import matplotlib.pylab as pl import numpy as np

x = np.arange(-10, 20, 2) y = np.sin(x)/x

pl.plot(x, y, "g") pl.plot(x, y, "go") pl.show()

Università Roma Tre – Dipartimento di Matematica e Fisica

M. Liverani, Laboratorio di ottimizzazione combinatoria 4

(6)

Il modulo «pylab» della libreria MatPlotLib | Grafici di funzione

import matplotlib.pylab as pl import numpy as np

x = np.arange(-10, 20, 2) y = np.sin(x)/x

pl.plot(x, y, "g") pl.plot(x, y, "go")

x = np.arange(-10, 20, 0.1) y = np.sin(x)/x

pl.plot(x, y, "r") pl.show()

(7)

Il modulo «pyplot» della libreria MatPlotLib | Diagrammi a barre

import matplotlib.pyplot as plt

esami = {'AM110':26, 'AL110':30, 'IN110':28, 'GE110':22, 'CP110':27}

plt.bar(list(esami.keys()), list(esami.values())) plt.title("Valutazioni agli esami")

plt.show()

Università Roma Tre – Dipartimento di Matematica e Fisica

M. Liverani, Laboratorio di ottimizzazione combinatoria 6

(8)

Il modulo «graphics»

from graphics import *

win = GraphWin("Prova", 800, 600)

a = Line(Point(0,0), Point(800,600)) a.draw(win)

win.getMouse()

Per la libreria Graphics vedi:

https://mcsp.wartburg.edu/zelle/python/graphics/graphics.pdf https://mcsp.wartburg.edu/zelle/python/graphics.py

(9)

Il modulo «graphics»

from graphics import *

win = GraphWin("Prova", 800, 600)

a = Line(Point(0,0), Point(800,600)) a.draw(win)

win.getMouse()

a = Circle(Point(400,300), 100) a.draw(win)

win.getMouse()

Università Roma Tre – Dipartimento di Matematica e Fisica

M. Liverani, Laboratorio di ottimizzazione combinatoria 8

(10)

Il modulo «graphics»

from graphics import *

win = GraphWin("Prova", 800, 600)

a = Line(Point(0,0), Point(800,600)) a.draw(win)

win.getMouse()

a = Circle(Point(400,300), 100) a.draw(win)

win.getMouse()

for i in range(100):

win.plot(800-i*8, i*6) win.getMouse()

win.close()

(11)

Il modulo «graphics»

from graphics import *

win = GraphWin("Prova", 800, 600) while 1:

point=win.getMouse()

win.plot(point.getX(), point.getY(), 'red’) c = Circle(point, 5)

c.draw(win) win.close()

Università Roma Tre – Dipartimento di Matematica e Fisica

M. Liverani, Laboratorio di ottimizzazione combinatoria 10

(12)

Il modulo «graphics»

from graphics import *

def f(x):

return(x**2 / 5 - x - 3)

win = GraphWin("Prova", 800, 600) win.setCoords(-10, -7, 10, 7)

ax = Line(Point(-10,0), Point(10,0)) ax.setArrow("last")

ax.draw(win)

ay = Line(Point(0,-7), Point(0,7)) ay.setArrow("last")

ay.draw(win) dx = 20/800 x = -10

for i in range(800):

x = x + dx y = f(x)

win.plot(x,y) win.getMouse()

(13)

Il modulo «graphics» – Grafico di una spirale

from graphics import * import numpy as np

win = GraphWin("Spirale", 800, 600) win.setCoords(-400, -300, 400, 300) ax = Line(Point(-400,0), Point(400,0)) ax.setArrow("last")

ax.draw(win)

ay = Line(Point(0,-300), Point(0,300)) ay.setArrow("last")

ay.draw(win)

for t in range(10000):

x = t/10 * np.cos(t/100) y = t/10 * np.sin(t/100) win.plot(x,y)

win.getMouse() win.close()

Università Roma Tre – Dipartimento di Matematica e Fisica

M. Liverani, Laboratorio di ottimizzazione combinatoria 12

(14)

Il modulo «graphics» – Insieme di Mandelbrot

from graphics import * import numpy as np

def punto(re, im, zre0, zim0, maxCicli):

zre = zre0 zim = zim0 k = 0

while zre**2+zim**2<=4.0 and k<maxCicli:

temp = zre**2 - zim**2 +re zim = 2.0*(zim*zre) + im zre = temp

k = k+1 return k

win = GraphWin("Mandelbrot", 800, 600, autoflush=False) win.setCoords(-2, -1.0, 0.7, 1.0)

max = 100

deltaRe = float(2.7/800.0) deltaIm = float(2.0/600.0) cre = -2

while cre < 0.7:

cim = 2

while cim > -1:

c = punto(cre, cim, 0, 0, max) if c >= max:

win.plot(cre,cim,color_rgb(0,0,0)) else:

win.plot(cre,cim,color_rgb(int(255*c/max), 0, 255-int(255*c/max)))

cim = cim-deltaIm cre = cre+deltaRe update()

win.getMouse() win.close()

<latexit sha1_base64="H0gTHcLFttd/2DO8oOidgRMA3RU=">AAACNnicbVC7TsMwFHXKO7wKjCwWFRISUpV0ABYkBAtjkehDakrkuLetVceJbAdRovwK38HSDbHBzsKGWFnYcR8DtFzJ0vE5595rnyDmTGnHebNyc/MLi0vLK/bq2vrGZn5ru6qiRFKo0IhHsh4QBZwJqGimOdRjCSQMONSC3sVQr92CVCwS17ofQzMkHcHajBJtKD9/4gXQYSKlZobK7HvfwafYwZ5nYCoO3cxc731xU8KHmNoeiNbE6ucLTtEZFZ4F7gQUzva/B1fF50HZz396rYgmIQhNOVGq4TqxbqZEakY5ZLaXKIgJ7ZEONAwUJATVTEc/zPC+YVq4HUlzhMYj9ndHSkKl+mFgnCHRXTWtDcn/tEai2yfNlIk40SDoeFE74VhHeBgXbjEJVPO+AYRKZt6KaZdIQrUJ9c+WWHGi4S6zTTLudA6zoFoqukdF58pEdI7GtYx20R46QC46RmfoEpVRBVH0gJ7QC3q1Hq1368P6HFtz1qRnB/0p6+sHyQyuVg==</latexit>

( z 0 = 0

z n+1 = z 2 n + c

Riferimenti

Documenti correlati

La seconda parte del corso prevede lo studio di diversi problemi classici di ottimizzazione combinatoria (per lo più su grafi) e delle principali tecniche algoritmiche per il

§ Un cammino o un ciclo euleriano è un cammino o un ciclo (anche non semplice) che passa una volta sola per tuH gli spigoli del grafo. § Un grafo che ammeOe un ciclo euleriano

• con i due cicli nidificati di BFS e con il singolo ciclo della funzione Visita di DFS, insieme alla ricorsione di DFS, vengono presi in esame tutti gli spigoli del grafo per

§ Nei problemi di programmazione lineare intera (PLI) alcune delle variabili del problema sono vincolate ad assumere valori interi. • in questo modo si riducono drasticamente i

Dimostrazione ( ⇒ ): Nessun ciclo può essere dispari altrimenti ci sarebbero due archi dello stesso matching incidenti sullo stesso nodo e questo è impossibile. Non tutti

Formulare come problema di PL-{0, 1} il problema del massimo insieme stabile su G.. Sia D il duale del rilassamento lineare del

L’azienda effettua il giro con un automezzo condotto da un unico autista che può guidare consecutivamente per un massimo di 1200 km;.. Il giro di consegna parte da Roma e termina

L’azienda effettua il giro con un automezzo condotto da un unico autista che può guidare consecutivamente per un massimo di 1200 km;3. Il giro di consegna parte da Roma e termina