Visualizzazione 2 - Challenge

Il protosincrotrone

✪✪ Requisiti: matplotlib, strutture varie

♫ Plottiam ♫ Plottiam ♫ ! In un recente esperimento svolto in collaborazione tra il CERN e la NASA abbiamo raccolto un sacco di dati.

Si tratta di punti nello spazio che ci segnalano come i bosoni bi-gravitazionali interagiscono con le stringhe di campo finito per comporre il flusso canalizzatore della tarapia tapioca.

Ogni scienziato che partecipava all’esperimento ha usato un formato diverso per i dati, ma l’idea di fondo è sempre la stessa:

[[1, 10], [0, 0]]

rappresenta

       x   y
punto1(1,  0)
punto2(10, 0)

e similmente per le altre strutture.

([4, 4], [0, 4])
       x  y
punto1(4, 0)
punto2(4, 4)

Matplotlib ci mette a disposizione una funzione per plottare segmenti definiti per punti:

plt.plot(lista di x, lista di y)

  1. prova a chiamare plot tante volte, una per ciascun segmento da visualizzare - noterai che ogni segmento verrà mostrato di un colore casuale diverso.

  2. prova a chiamare plot una sola volta per plottare tutti i punti in un colpo solo, dovresti ottenere una linea spezzata dello stesso colore.

[1]:

import matplotlib
import matplotlib.pyplot as plt

# Questi sono i dati raccolti dai vari laboratori
part1 = [[1, 10], [0, 0]]
part2 = ([4, 4], [0, 4])
part3 = {"x": [8, 8], "y": [0, 4]}
more_parts = {
    "part4":[[4, 8], [4, 4]],
    "part5":[[4, 6], [4, 6]],
    "part6":[[8, 6], [4, 6]]
}

# scrivi qui sotto


IgNobel

✪✪ Requisiti: matplotlib, random, strutture varie

Come ogni scienziato indegno di rispetto sa, quando i dati degli esperimenti non tornano è il momento di inventarsi numeri.

Per creare grafici più credibili proviamo a generare due sequenze di punti casuali utilizzando la libreria random, e poi proviamo a plottare questi punti.

  • ogni sequenza deve avere almeno 200 punti

  • per avere un risultato più interessante proviamo a vedere sequenze di punti estratti da distribuzioni statistiche differenti: UNIFORM e EXPOVARIATE

  • riesci a plottare le sequenze ordinate?

SUGGERIMENTO: random mette già a disposizione dei metodi per fare sampling da distribuzioni.++

[6]:
import matplotlib
import matplotlib.pyplot as plt
import random

# scrivi qui


../_images/visualization_visualization2-chal_7_0.png