Graph.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. def plot_duration_part(dataset):
  4. plt.figure(figsize=(18, 7))
  5. plt.xlabel("Parts chronologically ordered")
  6. plt.ylabel("Duration Minutes")
  7. #print(dataset)
  8. #dataset = dataset[~np.all(dataset['keys'] == 0, axis=0)]
  9. x = dataset['keys']
  10. # y=y[~np.all(y==0,axis=1)]
  11. # y[y==0] = np.nan
  12. x_str=[]
  13. for entry in x:
  14. x_str.append(str(entry))
  15. y = dataset['data']
  16. #plt.xticks(range(len(x)), str(x))
  17. plt.margins(x=0)
  18. plt.xticks(rotation=70, fontsize=9)
  19. plt.subplots_adjust(left=0.05, right=1, bottom=0.15)
  20. plt.plot(x_str, y, label=str("OverallDuration"))
  21. plt.legend()
  22. plt.title("MeasureResultsPPart")
  23. plt.show()
  24. def plot_duration_part_cap(dataset):
  25. plt.figure(figsize=(18, 7))
  26. plt.xlabel("Parts")
  27. plt.ylabel("Duration Minutes")
  28. #print(dataset)
  29. #dataset = dataset[~np.all(dataset['keys'] == 0, axis=0)]
  30. x = dataset['keys']
  31. # y=y[~np.all(y==0,axis=1)]
  32. # y[y==0] = np.nan
  33. x_str=[]
  34. for entry in x:
  35. x_str.append(str(entry))
  36. y = dataset['data']
  37. #plt.xticks(range(len(x)), str(x))
  38. plt.margins(x=0)
  39. plt.xticks(rotation=70, fontsize=9)
  40. plt.subplots_adjust(left=0.05, right=1, bottom=0.15)
  41. plt.plot(x_str, y, label=str("OverallDuration"))
  42. plt.ylim([2,6])
  43. plt.legend()
  44. plt.title("MeasureResultsPPart")
  45. plt.show()
  46. def plot_all_measures(measures_dict):
  47. f = open('jbg.txt', 'a')
  48. datasets ={}
  49. for entry in measures_dict:
  50. for key in measures_dict[entry]:
  51. datasets.update({key:np.zeros((len(measures_dict)+1,1),dtype=[('keys' , int),('data',float)])})
  52. break
  53. for entry in measures_dict:
  54. print("------------", file=f)
  55. print("------------", file=f)
  56. print(entry, file=f)
  57. print("------------", file=f)
  58. for measure in measures_dict[entry]:
  59. part=entry
  60. dataset = datasets[measure]
  61. print(dataset, file=f)
  62. dataset [part][0] = entry+1,measures_dict[entry][measure]
  63. # print(dataset[part][0], file=f)
  64. # print("------------", file=f)
  65. datasets.update({measure : dataset})
  66. print("------------", file=f)
  67. print("------------", file=f)
  68. plt.figure(figsize=(18, 7))
  69. plt.xlabel("Parts")
  70. plt.ylabel("0 to 1")
  71. for measure in datasets:
  72. if measure not in ("Kreis Ø19,2-1-Mitte Z","Kreis Ø19,2-1-Durchmesser","Kreis Ø19,2-2-Mitte Z","Kreis Ø19,2-2-Durchmesser","Zylinder Ø4,5-B-Durchmesser", "Zylinder Ø4,5-B-Zylinderform","Distanz Z4,8-Distanz Z"):
  73. continue
  74. dataset = datasets[measure]
  75. dataset=dataset[~np.all(dataset['keys']==0, axis=1)]
  76. y=dataset['keys']
  77. x=dataset['data']
  78. plt.ylim(-0.5, 2.5)
  79. plt.xticks(np.arange(0,len(x),2))
  80. #plt.xticks(range(len(x)), y)
  81. plt.xticks(rotation=70, fontsize=10)
  82. plt.subplots_adjust(left=0.05, right=1, bottom=0.15)
  83. print(measure)
  84. plt.plot(y,x, label=str(measure))
  85. plt.legend()
  86. x = np.arange(1,len(x))
  87. y = [1]*len(x)
  88. plt.plot(x, y, color='red', linestyle='-.')
  89. y = [0] * len(x)
  90. plt.plot(x, y, color='red', linestyle='-.')
  91. plt.title("MeasureResultsPPart")
  92. plt.show()
  93. def plot_zylinder_part(dataset):
  94. plt.figure(figsize=(18, 7))
  95. plt.xlabel("Parts")
  96. plt.ylabel("Zylinder Values")
  97. x = dataset['keys']
  98. x_str = []
  99. for entry in x:
  100. x_str.append(str(entry))
  101. y = dataset['data']
  102. plt.margins(x=0)
  103. plt.xticks(rotation=70, fontsize=9)
  104. plt.subplots_adjust(left=0.05, right=1, bottom=0.15)
  105. plt.hlines(y=1.0, xmin=1, xmax=100, linewidth=1, color='r', linestyles='dashed')
  106. plt.hlines(y=0.0, xmin=1, xmax=100, linewidth=1, color='r', linestyles='dashed')
  107. plt.plot(x_str, y, label=str("Zylinder Values Change"))
  108. plt.legend()
  109. plt.title("MeasureResultsZylinder")
  110. plt.show()