| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- """ Dieses Script analysiert die Verteilung der Längen der Routen. Diese müssen
- durch "Entfernungen.txt" gegeben sein.
- """
- print("Beginne alle Routen zu lesen.")
- f = open('/home/moose/mathe/Entfernungen.txt', 'r')
- lines = f.readlines()
- f.close()
- print("Alle Routen wurden eingelesen.")
- number = length = 0
- minimum= int(lines[0])
- maximum= int(lines[0])
- liste = []
- dict_entfernungen = {}
- for line in lines:
- line = int(line)
- if line in dict_entfernungen:
- dict_entfernungen[line] += 1
- else:
- dict_entfernungen[line] = 1
- liste.append(line)
- number += 1
- length += line
- if line < minimum:
- minimum = line
- if line > maximum:
- maximum = line
- print("Minimum: %i" % minimum)
- print("Maximum: %i" % maximum)
- print("Durchschnitt: %i" % (length/number))
- print("Anzahl der Routen: %i" % number)
- less_than2069 = 0.0
- for length, count in dict_entfernungen.items():
- if length <= 2068:
- less_than2069 += count
- print("maximale Abweichung von 5%%: %f %% aller Strecken" % (less_than2069/number*100))
- EntfernungsSet = set(liste)
- print("Anzahl der verschiedenen Streckenlängen: %i" % len(dict_entfernungen))
- import math, pylab
- x_list = []
- y_list = []
- for x, y in dict_entfernungen.items():
- y_list.append(y)
- x_list.append(x)
- pylab.xlabel("Streckenlange in km")
- pylab.ylabel("Anzahl der Routen")
- pylab.plot(x_list, y_list, 'b')
- # Einzeichnen des Durchschnitts:
- y_max = max(y_list)
- x_list = []
- y_list = []
- y_list.append(0)
- x_list.append((length/number))
- y_list.append(y_max)
- x_list.append((length/number))
- pylab.plot(x_list, y_list, 'r')
- pylab.savefig('Fig1.png')
- pylab.show()
|