Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.46 KB | None | 0 0
  1. import numpy as np
  2. from matplotlib import pyplot as plt
  3.  
  4. def plotEntries(entries,keyX,keyY,sortingKey,graphName,colors = None,markers = None):
  5.     #assert len(keysX) == len(colors) and len(keysX) == len(markers)
  6.  
  7.     technologies = list(set([el[sortingKey] for el in entries]))
  8.  
  9.  
  10.     for i,tech in enumerate(technologies):
  11.         x = [el[keyX] for el in entries if el[sortingKey] == tech]
  12.         y = [el[keyY] for el in entries if el[sortingKey] == tech]
  13.         plt.scatter(x,y)
  14.         print(tech)
  15.         if i == 5:
  16.             break
  17.     plt.title(keyX + " vs " + keyY)
  18.     plt.xlabel(keyX)
  19.     plt.ylabel("test")
  20.  
  21.     plt.savefig(graphName + ".png")
  22. if __name__ == "__main__":
  23.     fileName = "dataSheet.csv"
  24.  
  25.     # Opening file
  26.     with open(fileName,"r") as f:
  27.         data = f.readlines()
  28.     delimiter = "|"
  29.     entryLength = 30
  30.  
  31.     # Some constants
  32.     header = data[0][:-1]
  33.     headers = header.split(delimiter)
  34.  
  35.     entries = []
  36.     # Dank parsing
  37.     for dataIt in range(1,len(data)):
  38.         line = data[dataIt][:-1]
  39.         values = line.split(delimiter)
  40.         if len(values) != entryLength:
  41.             continue
  42.         entry = dict()
  43.         for val,key in zip(values,headers):
  44.             entry[key] = val
  45.         entries.append(entry)
  46.     # Dank filtering
  47.     frequence  = 1e9
  48.     entries = [el for el in entries if float(el["fs [Hz]"]) >= frequence]
  49.  
  50.     plotEntries(entries,"fs [Hz]","P [W]","TECHNOLOGY","test",None,None)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement