import matplotlib.pyplot as plt class TSPPlot(): def drawDeletedCurve(self, heatCascadedeltaH, deletedPocketdict, _temperatures, plottest): fig = plt.figure() if heatCascadedeltaH[0] > 0: plt.plot([deletedPocketdict['H'][0][0],deletedPocketdict['H'][0][1]], [deletedPocketdict['T'][0][0],deletedPocketdict['T'][0][1]], 'tab:red') plt.plot([deletedPocketdict['H'][0][0],deletedPocketdict['H'][0][1]], [deletedPocketdict['T'][0][0],deletedPocketdict['T'][0][1]], 'ro') elif heatCascadedeltaH[0] < 0: plt.plot([deletedPocketdict['H'][0][0],deletedPocketdict['H'][0][1]], [deletedPocketdict['T'][0][0],deletedPocketdict['T'][0][1]], 'tab:blue') plt.plot([deletedPocketdict['H'][0][0],deletedPocketdict['H'][0][1]], [deletedPocketdict['T'][0][0],deletedPocketdict['T'][0][1]], 'bo') if plottest == 1: for i in range(1, len(_temperatures)-2): if heatCascadedeltaH[i] > 0: plt.plot([deletedPocketdict['H'][0][i],deletedPocketdict['H'][0][i+1]], [deletedPocketdict['T'][0][i],deletedPocketdict['T'][0][i+1]], 'tab:red') plt.plot([deletedPocketdict['H'][0][i],deletedPocketdict['H'][0][i+1]], [deletedPocketdict['T'][0][i],deletedPocketdict['T'][0][i+1]], 'ro') elif heatCascadedeltaH[i] < 0: plt.plot([deletedPocketdict['H'][0][i],deletedPocketdict['H'][0][i+1]], [deletedPocketdict['T'][0][i],deletedPocketdict['T'][0][i+1]], 'tab:blue') plt.plot([deletedPocketdict['H'][0][i],deletedPocketdict['H'][0][i+1]], [deletedPocketdict['T'][0][i],deletedPocketdict['T'][0][i+1]], 'bo') else: plt.plot([deletedPocketdict['H'][0][i],deletedPocketdict['H'][0][i+1]], [deletedPocketdict['T'][0][i],deletedPocketdict['T'][0][i+1]], 'tab:blue') plt.plot([deletedPocketdict['H'][0][i],deletedPocketdict['H'][0][i+1]], [deletedPocketdict['T'][0][i],deletedPocketdict['T'][0][i+1]], 'bo') if plottest == 0: for i in range(1, len(_temperatures)-1): if heatCascadedeltaH[i] > 0: plt.plot([deletedPocketdict['H'][0][i],deletedPocketdict['H'][0][i+1]], [deletedPocketdict['T'][0][i],deletedPocketdict['T'][0][i+1]], 'tab:red') plt.plot([deletedPocketdict['H'][0][i],deletedPocketdict['H'][0][i+1]], [deletedPocketdict['T'][0][i],deletedPocketdict['T'][0][i+1]], 'ro') elif heatCascadedeltaH[i] < 0: plt.plot([deletedPocketdict['H'][0][i],deletedPocketdict['H'][0][i+1]], [deletedPocketdict['T'][0][i],deletedPocketdict['T'][0][i+1]], 'tab:blue') plt.plot([deletedPocketdict['H'][0][i],deletedPocketdict['H'][0][i+1]], [deletedPocketdict['T'][0][i],deletedPocketdict['T'][0][i+1]], 'bo') else: plt.plot([deletedPocketdict['H'][0][i],deletedPocketdict['H'][0][i+1]], [deletedPocketdict['T'][0][i],deletedPocketdict['T'][0][i+1]], 'tab:blue') plt.plot([deletedPocketdict['H'][0][i],deletedPocketdict['H'][0][i+1]], [deletedPocketdict['T'][0][i],deletedPocketdict['T'][0][i+1]], 'bo') # plt.fill_between([0, deletedPocketdict['H'][0][0]], 0, _temperatures[0], color = 'r', alpha = 0.5) # plt.fill_between([0, deletedPocketdict['H'][0][-1]], 0, _temperatures[-1], color = 'b', alpha = 0.5) plt.grid(True) plt.title('Grand Composite Curve') plt.xlabel('Net Enthalpy Change ∆H [kW]') plt.ylabel('Shifted Temperature T [°C]') def drawTotalSiteProfile(self, siteDesignation, tstHotH, tstHotTemperatures, tstColdH, tstColdTemperatures, localisation): #Wieder aus den ausgegebenen Werten fuer alle Prozesse Temperaturintervalle erstellen und diese dann plotten fig, (ax1, ax2) = plt.subplots(1, 2) fig.suptitle('Total Site Profile ({})'.format(siteDesignation)) ax1.plot(tstHotH, tstHotTemperatures, 'tab:red') if localisation == 'DE': ax1.set(xlabel='Nettoenthalpieänderung ∆H in kW', ylabel='Verschobene Temperatur T in °C') elif localisation == 'EN': ax1.set(xlabel='Net Enthalpy Change ∆H in kW', ylabel='Shifted Temperature T in °C') ax1.grid() ax2.plot(tstColdH, tstColdTemperatures, 'tab:blue') if localisation == 'DE': ax2.set_xlabel('Nettoenthalpieänderung ∆H in kW') elif localisation == 'EN': ax2.set(xlabel='Net Enthalpy Change ∆H in kW') ax2.grid() ax2.set_xlim([0,tstColdH[-1]]) ax1.set_xlim([tstHotH[0],0]) if tstHotH == [] or tstColdH == []: pass elif tstHotTemperatures[-1] > tstColdTemperatures[-1]: if tstHotTemperatures[0] > tstColdTemperatures[0]: ax1.set_ylim([tstColdTemperatures[0]-2.5,tstHotTemperatures[-1]+2.5]) ax2.set_ylim([tstColdTemperatures[0]-2.5,tstHotTemperatures[-1]+2.5]) elif tstHotTemperatures[0] < tstColdTemperatures[0]: ax1.set_ylim([tstHotTemperatures[0]-2.5,tstHotTemperatures[-1]+2.5]) ax2.set_ylim([tstHotTemperatures[0]-2.5,tstHotTemperatures[-1]+2.5]) else: pass elif tstHotTemperatures[-1] < tstColdTemperatures[-1]: if tstHotTemperatures[0] > tstColdTemperatures[0]: ax1.set_ylim([tstColdTemperatures[0]-2.5,tstColdTemperatures[-1]+2.5]) ax2.set_ylim([tstColdTemperatures[0]-2.5,tstColdTemperatures[-1]+2.5]) elif tstHotTemperatures[0] < tstColdTemperatures[0]: ax1.set_ylim([tstHotTemperatures[0]-2.5,tstColdTemperatures[-1]+2.5]) ax2.set_ylim([tstHotTemperatures[0]-2.5,tstColdTemperatures[-1]+2.5]) else: pass def showPlots(self): plt.show()