From c1c58746e9d9cb291a155e79ddaf0fb50798dfbe Mon Sep 17 00:00:00 2001 From: SGCMarkus Date: Sat, 31 May 2025 16:52:41 +0200 Subject: [PATCH 1/2] FlareSummaryPlotGUI: bring up to date --- main/astrodatagui/FlareSummaryPlotGUI.py | 230 +++++++---------------- 1 file changed, 66 insertions(+), 164 deletions(-) diff --git a/main/astrodatagui/FlareSummaryPlotGUI.py b/main/astrodatagui/FlareSummaryPlotGUI.py index 9f9ab67..cd5a988 100644 --- a/main/astrodatagui/FlareSummaryPlotGUI.py +++ b/main/astrodatagui/FlareSummaryPlotGUI.py @@ -120,7 +120,7 @@ class FlareSummaryPlotGUI(QWidget): self.cbSpTypeUnknown.setChecked(False) self.cbShowSAP = QCheckBox("SAP") - self.cbShowSAP.setChecked(True) + self.cbShowSAP.setChecked(False) self.cbShowPDCSAP = QCheckBox("PDCSAP") self.cbShowPDCSAP.setChecked(True) @@ -129,12 +129,12 @@ class FlareSummaryPlotGUI(QWidget): self.buttonGridLayout.addWidget(self.btShowFlaresPerStar, 0, 2) self.buttonGridLayout.addWidget(self.btShowFlaresPerStarNormalized, 0, 3) self.buttonGridLayout.addWidget(self.btShowPeriods, 0, 4) - self.buttonGridLayout.addWidget(self.btNumMinimaMaxima, 0, 5) - self.buttonGridLayout.addWidget(self.btNumMinimaMaximaNorm, 0, 6) - self.buttonGridLayout.addWidget(self.btShowFlaresInMinimaMaxima, 0, 7) - self.buttonGridLayout.addWidget(self.btShowFlaresInMinimaMaximaPerMinimaMaxima, 0, 8) - self.buttonGridLayout.addWidget(self.btShowFlaresBinnedOnPhase, 0, 9) - self.buttonGridLayout.addWidget(self.textNumBins, 0, 10) + #self.buttonGridLayout.addWidget(self.btNumMinimaMaxima, 0, 5) + #self.buttonGridLayout.addWidget(self.btNumMinimaMaximaNorm, 0, 6) + #self.buttonGridLayout.addWidget(self.btShowFlaresInMinimaMaxima, 0, 7) + #self.buttonGridLayout.addWidget(self.btShowFlaresInMinimaMaximaPerMinimaMaxima, 0, 8) + #self.buttonGridLayout.addWidget(self.btShowFlaresBinnedOnPhase, 0, 9) + #self.buttonGridLayout.addWidget(self.textNumBins, 0, 10) self.buttonGridLayout.addWidget(QLabel("Sources: "), 1, 0) self.buttonGridLayout.addWidget(self.cbKepler, 1, 1) @@ -149,7 +149,7 @@ class FlareSummaryPlotGUI(QWidget): self.buttonGridLayout.addWidget(self.cbSpTypeF, 2, 4) #self.buttonGridLayout.addWidget(self.cbSpTypeUnknown, 2, 6) - self.buttonGridLayout.addWidget(self.cbShowSAP, 3, 0) + #self.buttonGridLayout.addWidget(self.cbShowSAP, 3, 0) self.buttonGridLayout.addWidget(self.cbShowPDCSAP, 3, 1) self.mainLayout.addLayout(self.buttonGridLayout) @@ -243,27 +243,7 @@ class FlareSummaryPlotGUI(QWidget): self.figure.canvas.draw_idle() def btShowFlaresPerStarClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'pdcsapPeaks', - 'sapFits', - 'sapPeaks', - 'sapPeriod', - 'sapPeriodMinima', - 'sapPeriodMinimaBoundaries', - 'sapPeriodMaxima', - 'sapPeriodMaximaBoundaries', - 'pdcsapValidTimespans', - 'pdcsapPeriod', - 'pdcsapPeriodMinima', - 'pdcsapPeriodMinimaBoundaries', - 'pdcsapPeriodMaxima', - 'pdcsapPeriodMaximaBoundaries']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -277,9 +257,14 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS + aggDic = {} + if(self.cbShowSAP.isChecked()): + aggDic["sapPeaksCount"] = "sum" + if(self.cbShowPDCSAP.isChecked()): + aggDic["pdcsapPeaksCount"] = "sum" + data = data[showSourceFilter].groupby(["StarName", "SpType"], - as_index=False).agg({"sapPeaksCount": "sum", - "pdcsapPeaksCount": "sum"}) + as_index=False).agg(aggDic) x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int) if(self.cbSpTypeL.isChecked()): @@ -345,28 +330,7 @@ class FlareSummaryPlotGUI(QWidget): self.figure.canvas.draw_idle() def btShowFlaresPerStarNormalizedClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'pdcsapPeaks', - 'sapFits', - 'sapValidTimespans', - 'sapPeaks', - 'sapPeriod', - 'sapPeriodMinima', - 'sapPeriodMinimaBoundaries', - 'sapPeriodMaxima', - 'sapPeriodMaximaBoundaries', - 'pdcsapValidTimespans', - 'pdcsapPeriod', - 'pdcsapPeriodMinima', - 'pdcsapPeriodMinimaBoundaries', - 'pdcsapPeriodMaxima', - 'pdcsapPeriodMaximaBoundaries']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -380,11 +344,16 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS + aggDic = {} + if(self.cbShowSAP.isChecked()): + aggDic["sapPeaksCount"] = "sum" + aggDic["sapValidSeconds"] = "sum" + if(self.cbShowPDCSAP.isChecked()): + aggDic["pdcsapPeaksCount"] = "sum" + aggDic["pdcsapValidSeconds"] = "sum" + data = data[showSourceFilter].groupby(["StarName", "SpType"], - as_index=False).agg({"sapPeaksCount": "sum", - "pdcsapPeaksCount": "sum", - "sapValidSeconds": "sum", - "pdcsapValidSeconds": "sum"}) + as_index=False).agg(aggDic) x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int) if(self.cbSpTypeL.isChecked()): @@ -462,30 +431,7 @@ class FlareSummaryPlotGUI(QWidget): self.figure.canvas.draw_idle() def btShowPeriodsClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'pdcsapPeaks', - 'sapFits', - 'sapValidTimespans', - 'sapPeaks', - 'sapPeriodMinima', - 'sapPeriodMinimaBoundaries', - 'sapPeriodMaxima', - 'sapPeriodMaximaBoundaries', - 'pdcsapValidTimespans', - 'pdcsapPeriodMinima', - 'pdcsapPeriodMinimaBoundaries', - 'pdcsapPeriodMaxima', - 'pdcsapPeriodMaximaBoundaries', - 'sapPeaksCount', - 'pdcsapPeaksCount', - 'sapValidSeconds', - 'pdcsapValidSeconds']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -499,11 +445,14 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS - print(data["sapPeriod"]) + aggDic = {} + if(self.cbShowSAP.isChecked()): + aggDic["sapPeriod"] = "sum" + if(self.cbShowPDCSAP.isChecked()): + aggDic["pdcsapPeriod"] = "sum" data = data[showSourceFilter].groupby(["StarName", "SpType"], - as_index=False).agg({"sapPeriod": "mean", - "pdcsapPeriod": "mean"}) + as_index=False).agg(aggDic) x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int) if(self.cbSpTypeL.isChecked()): @@ -582,20 +531,7 @@ class FlareSummaryPlotGUI(QWidget): pass def btShowNumMinimaMaximaClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'sapFits', - 'sapValidTimespans', - 'pdcsapValidTimespans', - 'sapPeaksCount', - 'pdcsapPeaksCount', - 'sapValidSeconds', - 'pdcsapValidSeconds']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -609,13 +545,15 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS - print(data["sapPeriod"]) - + aggDic = {} + if(self.cbShowSAP.isChecked()): + aggDic["sapPeriodMinima"] = "sum" + aggDic["sapPeriodMaxima"] = "sum" + if(self.cbShowPDCSAP.isChecked()): + aggDic["pdcsapPeriodMinima"] = "sum" + aggDic["pdcsapPeriodMaxima"] = "sum" data = data[showSourceFilter].groupby(["StarName", "SpType"], - as_index=False).agg({"sapPeriodMinima": sumArrayLengths, - "sapPeriodMaxima": sumArrayLengths, - "pdcsapPeriodMinima": sumArrayLengths, - "pdcsapPeriodMaxima": sumArrayLengths}) + as_index=False).agg(aggDic) x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int) if(self.cbSpTypeL.isChecked()): @@ -718,20 +656,7 @@ class FlareSummaryPlotGUI(QWidget): pass def btShowNumMinimaMaximaNormalizedClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'sapFits', - 'sapValidTimespans', - 'pdcsapValidTimespans', - 'sapPeaksCount', - 'pdcsapPeaksCount', - 'sapValidSeconds', - 'pdcsapValidSeconds']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -745,13 +670,15 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS - print(data["sapPeriod"]) - + aggDic = {} + if(self.cbShowSAP.isChecked()): + aggDic["sapPeriodMinima"] = "sum" + aggDic["sapPeriodMaxima"] = "sum" + if(self.cbShowPDCSAP.isChecked()): + aggDic["pdcsapPeriodMinima"] = "sum" + aggDic["pdcsapPeriodMaxima"] = "sum" data = data[showSourceFilter].groupby(["StarName", "SpType"], - as_index=False).agg({"sapPeriodMinima": sumArrayLengthsNorm, - "sapPeriodMaxima": sumArrayLengthsNorm, - "pdcsapPeriodMinima": sumArrayLengthsNorm, - "pdcsapPeriodMaxima": sumArrayLengthsNorm}) + as_index=False).agg(aggDic) x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int) if(self.cbSpTypeL.isChecked()): @@ -854,20 +781,7 @@ class FlareSummaryPlotGUI(QWidget): pass def btShowFlaresInMinimaMaximaClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'sapFits', - 'sapValidTimespans', - 'pdcsapValidTimespans', - 'sapPeaksCount', - 'pdcsapPeaksCount', - 'sapValidSeconds', - 'pdcsapValidSeconds']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -881,8 +795,6 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS - print(data["sapPeriod"]) - finalData = [] #data = data[showSourceFilter].groupby(["StarName", "SpType"], # as_index=False).agg({"sapPeriod": "mean", @@ -1011,20 +923,7 @@ class FlareSummaryPlotGUI(QWidget): pass def btShowFlaresInMinimaMaximaPerMinimaMaximaClicked(self): - data = self.starFLareDictList.drop(columns=['Distance', - 'DistanceUnit', - 'FilePath', - 'RotVel', - 'RotVelUnit', - 'Sequence', - 'pdcsapFits', - 'sapFits', - 'sapValidTimespans', - 'pdcsapValidTimespans', - 'sapPeaksCount', - 'pdcsapPeaksCount', - 'sapValidSeconds', - 'pdcsapValidSeconds']) + data = self.starFLareDictList showSourceFilter = np.full(len(data), False) @@ -1038,8 +937,6 @@ class FlareSummaryPlotGUI(QWidget): showTESS = data["Source"] == "TESS" showSourceFilter |= showTESS - print(data["sapPeriod"]) - finalData = [] for ind, row in data[showSourceFilter].reset_index().iterrows(): minimaCountSAP = getNumFlaresInBounds(row["sapFoldedPeaksPhasePair"], @@ -1056,15 +953,20 @@ class FlareSummaryPlotGUI(QWidget): "minimaCountPDCSAP": minimaCountPDCSAP, "maximaCountPDCSAP": maximaCountPDCSAP, "minimasPDCSAP": len(row["pdcsapPeriodMinima"]), "maximasPDCSAP": len(row["pdcsapPeriodMaxima"])}) + aggDic = {} + if(self.cbShowSAP.isChecked()): + aggDic["minimaCountSAP"] = "sum" + aggDic["maximaCountSAP"] = "sum" + aggDic["minimasSAP"] = "sum" + aggDic["maximasSAP"] = "sum" + if(self.cbShowPDCSAP.isChecked()): + aggDic["minimaCountPDCSAP"] = "sum" + aggDic["maximaCountPDCSAP"] = "sum" + aggDic["minimasPDCSAP"] = "sum" + aggDic["maximasPDCSAP"] = "sum" + data = pd.DataFrame(finalData).groupby(["StarName", "SpType"], - as_index=False).agg({"minimaCountSAP": "sum", - "maximaCountSAP": "sum", - "minimasSAP": "sum", - "maximasSAP": "sum", - "minimaCountPDCSAP": "sum", - "maximaCountPDCSAP": "sum", - "minimasPDCSAP": "sum", - "maximasPDCSAP": "sum"}) + as_index=False).agg(aggDic) x = np.arange(start=1, stop=len(data)+1, step=1, dtype=int) if(self.cbSpTypeL.isChecked()): From 9afe0993f639bbab1faae1a131be2af9066d9a13 Mon Sep 17 00:00:00 2001 From: SGCMarkus Date: Sat, 31 May 2025 16:53:17 +0200 Subject: [PATCH 2/2] generate_plots: fix flare number --- generate_plots.py | 57 ++++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/generate_plots.py b/generate_plots.py index 155446d..2a42ece 100644 --- a/generate_plots.py +++ b/generate_plots.py @@ -342,8 +342,6 @@ def plotCombo(data, showSourceFilter, folderPath, combo): Ffilter &= showSourceFilter finalDataMaxFlarePeak = pd.concat([finalDataMaxFlarePeak, data[Ffilter]], ignore_index=True) - numStars = len(set(finalDataMaxFlarePeak["StarName"])) - pdcsapbinningDataU = [] pdcsapbinningDataO = [] locFolderU = f"{folderPath}/{''.join(combo)}/maxFlarePeaks/{maxFlarePeak}/" @@ -385,6 +383,7 @@ def plotCombo(data, showSourceFilter, folderPath, combo): csvFileO.close() if(len(pdcsapbinningDataU) > 0): pdcsapbinningDataU = pd.DataFrame(pdcsapbinningDataU) + numStarsFlarePeakU = len(set(pdcsapbinningDataU["StarName"])) PDCSAPdataListU = [] PDCSAPlabelListU = [] PDCSAPcolorListU = [] @@ -426,13 +425,13 @@ def plotCombo(data, showSourceFilter, folderPath, combo): xData, yData, _ = setupxyDataAndDataList(PDCSAPdataList2dhistPhaseU, PDCSAPdataList2dhistPeakU, pdcsapbinningDataU, "PDCSAPNormPhase") - generatePlots(PDCSAPdataListU, PDCSAPlabelListU, PDCSAPcolorListU, f"Flare count per phase of {', '.join(combo)} type stars with @bins bins ({numStars} stars)", f"{locFolderU}/{''.join(combo)}_maxFlarePeak_{maxFlarePeak}-Flarecount-@bins_Bins.png", - xData, yData, f"Flare peak per phase histogram of {', '.join(combo)} type stars with @bins bins ({numStars} stars)", f"{locFolderU}/{''.join(combo)}_maxFlarePeak_{maxFlarePeak}-Flarepeaks-@bins_Bins_maxY-@maxY.png", - pdcsapbinningDataU, plotFiltersU, PDCSAPlabelListU, PDCSAPcolorListU, f"Flare peaks per phase of {', '.join(combo)} type stars ({numStars} stars)", f"{locFolderU}/{''.join(combo)}_maxFlarePeak_{maxFlarePeak}-Flarepeaks_maxY-@maxY.png") - + generatePlots(PDCSAPdataListU, PDCSAPlabelListU, PDCSAPcolorListU, f"Flare count per phase of {', '.join(combo)} type stars with @bins bins ({numStarsFlarePeakU} stars)", f"{locFolderU}/{''.join(combo)}_maxFlarePeak_{maxFlarePeak}-Flarecount-@bins_Bins.png", + xData, yData, f"Flare peak per phase histogram of {', '.join(combo)} type stars with @bins bins ({numStarsFlarePeakU} stars)", f"{locFolderU}/{''.join(combo)}_maxFlarePeak_{maxFlarePeak}-Flarepeaks-@bins_Bins_maxY-@maxY.png", + pdcsapbinningDataU, plotFiltersU, PDCSAPlabelListU, PDCSAPcolorListU, f"Flare peaks per phase of {', '.join(combo)} type stars ({numStarsFlarePeakU} stars)", f"{locFolderU}/{''.join(combo)}_maxFlarePeak_{maxFlarePeak}-Flarepeaks_maxY-@maxY.png") if(len(pdcsapbinningDataO) > 0): pdcsapbinningDataO = pd.DataFrame(pdcsapbinningDataO) + numStarsFlarePeakO = len(set(pdcsapbinningDataO["StarName"])) PDCSAPdataListO = [] PDCSAPlabelListO = [] PDCSAPcolorListO = [] @@ -474,9 +473,9 @@ def plotCombo(data, showSourceFilter, folderPath, combo): xData, yData, _ = setupxyDataAndDataList(PDCSAPdataList2dhistPhaseO, PDCSAPdataList2dhistPeakO, pdcsapbinningDataO, "PDCSAPNormPhase") - generatePlots(PDCSAPdataListO, PDCSAPlabelListO, PDCSAPcolorListO, f"Flare count per phase of {', '.join(combo)} type stars with @bins bins ({numStars} stars)", f"{locFolderO}/{''.join(combo)}_minFlarePeak_{maxFlarePeak}-Flarecount-@bins_Bins.png", - xData, yData, f"Flare peak per phase histogram of {', '.join(combo)} type stars with @bins bins ({numStars} stars)", f"{locFolderO}/{''.join(combo)}_minFlarePeak_{maxFlarePeak}-Flarepeaks-@bins_Bins_maxY-@maxY.png", - pdcsapbinningDataO, plotFiltersO, PDCSAPlabelListO, PDCSAPcolorListO, f"Flare peaks per phase of {', '.join(combo)} type stars ({numStars} stars)", f"{locFolderO}/{''.join(combo)}_minFlarePeak_{maxFlarePeak}-Flarepeaks_maxY-@maxY.png") + generatePlots(PDCSAPdataListO, PDCSAPlabelListO, PDCSAPcolorListO, f"Flare count per phase of {', '.join(combo)} type stars with @bins bins ({numStarsFlarePeakO} stars)", f"{locFolderO}/{''.join(combo)}_minFlarePeak_{maxFlarePeak}-Flarecount-@bins_Bins.png", + xData, yData, f"Flare peak per phase histogram of {', '.join(combo)} type stars with @bins bins ({numStarsFlarePeakO} stars)", f"{locFolderO}/{''.join(combo)}_minFlarePeak_{maxFlarePeak}-Flarepeaks-@bins_Bins_maxY-@maxY.png", + pdcsapbinningDataO, plotFiltersO, PDCSAPlabelListO, PDCSAPcolorListO, f"Flare peaks per phase of {', '.join(combo)} type stars ({numStarsFlarePeakO} stars)", f"{locFolderO}/{''.join(combo)}_minFlarePeak_{maxFlarePeak}-Flarepeaks_maxY-@maxY.png") # all flare peaks finalDataAllFlarePeaks = pd.DataFrame() if("M" in combo): @@ -496,8 +495,6 @@ def plotCombo(data, showSourceFilter, folderPath, combo): Ffilter &= showSourceFilter finalDataAllFlarePeaks = pd.concat([finalDataAllFlarePeaks, data[Ffilter]], ignore_index=True) - numStars = len(set(finalDataAllFlarePeaks["StarName"])) - pdcsapbinningData = [] locFolder = f"{folderPath}/{''.join(combo)}/" mkdir_p(f"{locFolder}/") @@ -522,6 +519,7 @@ def plotCombo(data, showSourceFilter, folderPath, combo): csvFile.close() if(len(pdcsapbinningData) > 0): pdcsapbinningData = pd.DataFrame(pdcsapbinningData) + numStarsAllFLarePeaks = len(set(pdcsapbinningData["StarName"])) PDCSAPdataList = [] PDCSAPlabelList = [] PDCSAPcolorList = [] @@ -567,9 +565,9 @@ def plotCombo(data, showSourceFilter, folderPath, combo): pdcsapbinningData, "PDCSAPNormPhase",) plotdata = pdcsapbinningData filters = plotFilters - generatePlots(PDCSAPdataList, PDCSAPlabelList, PDCSAPcolorList, f"Flare count per phase of {', '.join(combo)} type stars with @bins bins ({numStars} stars)", f"{locFolder}/{''.join(combo)}-Flarecount-@bins_Bins.png", - xData, yData, f"Flare peak per phase histogram of {', '.join(combo)} type stars with @bins bins ({numStars} stars)", f"{locFolder}/{''.join(combo)}-Flarepeaks-@bins_Bins_maxY-@maxY.png", - plotdata, filters, PDCSAPlabelList, PDCSAPcolorList, f"Flare peaks per phase of {', '.join(combo)} type stars ({numStars} stars)", f"{locFolder}/{''.join(combo)}-Flarepeaks_maxY-@maxY.png") + generatePlots(PDCSAPdataList, PDCSAPlabelList, PDCSAPcolorList, f"Flare count per phase of {', '.join(combo)} type stars with @bins bins ({numStarsAllFLarePeaks} stars)", f"{locFolder}/{''.join(combo)}-Flarecount-@bins_Bins.png", + xData, yData, f"Flare peak per phase histogram of {', '.join(combo)} type stars with @bins bins ({numStarsAllFLarePeaks} stars)", f"{locFolder}/{''.join(combo)}-Flarepeaks-@bins_Bins_maxY-@maxY.png", + plotdata, filters, PDCSAPlabelList, PDCSAPcolorList, f"Flare peaks per phase of {', '.join(combo)} type stars ({numStarsAllFLarePeaks} stars)", f"{locFolder}/{''.join(combo)}-Flarepeaks_maxY-@maxY.png") if(len(combo) == 1): mainSpType = combo[0] @@ -588,7 +586,6 @@ def plotCombo(data, showSourceFilter, folderPath, combo): finalDataAccSpTypes = pd.DataFrame() typeFilter = data["SpType"].str.startswith(spTyp) - numStars = len(set(data[typeFilter]["StarName"])) typeFilter &= showSourceFilter finalDataAccSpTypes = pd.concat([finalDataAccSpTypes, data[typeFilter]], ignore_index=True) @@ -615,6 +612,7 @@ def plotCombo(data, showSourceFilter, folderPath, combo): csvFile.close() if(len(pdcsapbinningData) > 0): pdcsapbinningData = pd.DataFrame(pdcsapbinningData) + numStarsAccSpType = len(set(pdcsapbinningData[typeFilter]["StarName"])) PDCSAPdataList = [] PDCSAPlabelList = [] PDCSAPcolorList = [] @@ -637,9 +635,9 @@ def plotCombo(data, showSourceFilter, folderPath, combo): plotdata = pdcsapbinningData filters = SpTypefilter - generatePlots(PDCSAPdataList, PDCSAPlabelList, PDCSAPcolorList, f"Flare count in phase of {spTyp} type stars with @bins bins ({numStars} stars)", f"{locFolder}/{''.join(spTyp)}-Flarecount-@bins_Bins.png", - xData, yData, f"Flare peak per phase histogram of {spTyp} type stars with @bins bins ({numStars} stars)", f"{locFolder}/{''.join(spTyp)}-Flarepeaks-@bins_Bins_maxY-@maxY.png", - plotdata, filters, PDCSAPlabelList[0], PDCSAPcolorList[0], f"Flare peaks per phase of {spTyp} type stars ({numStars} stars)", f"{locFolder}/{''.join(spTyp)}-Flarepeaks_maxY-@maxY.png") + generatePlots(PDCSAPdataList, PDCSAPlabelList, PDCSAPcolorList, f"Flare count in phase of {spTyp} type stars with @bins bins ({numStarsAccSpType} stars)", f"{locFolder}/{''.join(spTyp)}-Flarecount-@bins_Bins.png", + xData, yData, f"Flare peak per phase histogram of {spTyp} type stars with @bins bins ({numStarsAccSpType} stars)", f"{locFolder}/{''.join(spTyp)}-Flarepeaks-@bins_Bins_maxY-@maxY.png", + plotdata, filters, PDCSAPlabelList[0], PDCSAPcolorList[0], f"Flare peaks per phase of {spTyp} type stars ({numStarsAccSpType} stars)", f"{locFolder}/{''.join(spTyp)}-Flarepeaks_maxY-@maxY.png") # per Period for periodCut in periodsCutList: @@ -707,6 +705,9 @@ def plotCombo(data, showSourceFilter, folderPath, combo): PDCSAPdataList2dhistPhaseO = []; PDCSAPdataList2dhistPeakO = [] plotFiltersU = []; plotFiltersO = []; + numStarsPeriodU = len(set(pdcsapbinningDataU[typeFilter]["StarName"])) + numStarsPeriodO = len(set(pdcsapbinningDataO[typeFilter]["StarName"])) + if("M" in combo): PDCSAPlabelList.append("M Stars") PDCSAPcolorList.append("red") @@ -776,17 +777,17 @@ def plotCombo(data, showSourceFilter, folderPath, combo): xDataU, yDataU, _ = setupxyDataAndDataList(PDCSAPdataList2dhistPhaseU, PDCSAPdataList2dhistPeakU, pdcsapbinningDataU, "PDCSAPNormPhase",) if(len(PDCSAPdataListU) > 0 and len(xDataU) > 0 and len(yDataU) > 0): - generatePlots(PDCSAPdataListU, PDCSAPlabelList, PDCSAPcolorList, f"Flare count per phase of {', '.join(combo)} type stars with @bins bins (Rot. Period under {periodCut} days)", f"{locFolder}/{''.join(combo)}-Flarecount-Period_u_{periodCut}-@bins_Bins.png", - xDataU, yDataU, f"Flare peak per phase histogram of {', '.join(combo)} type stars with @bins bins (Rot. Period under {periodCut} days)", f"{locFolder}/{''.join(combo)}-Flarepeaks-Period_u_{periodCut}-@bins_Bins_maxY-@maxY.png", - pdcsapbinningDataU, plotFiltersU, PDCSAPlabelList, PDCSAPcolorList, f"Flare peaks per phase of {', '.join(combo)} type stars (Rot. Period under {periodCut} days)", f"{locFolder}/{''.join(combo)}-Flarepeaks-Period_u_{periodCut}-maxY_@maxY.png") + generatePlots(PDCSAPdataListU, PDCSAPlabelList, PDCSAPcolorList, f"Flare count per phase of {', '.join(combo)} type stars with @bins bins (Rot. Period under {periodCut} days, {numStarsPeriodU} stars)", f"{locFolder}/{''.join(combo)}-Flarecount-Period_u_{periodCut}-@bins_Bins.png", + xDataU, yDataU, f"Flare peak per phase histogram of {', '.join(combo)} type stars with @bins bins (Rot. Period under {periodCut} days, {numStarsPeriodU} stars)", f"{locFolder}/{''.join(combo)}-Flarepeaks-Period_u_{periodCut}-@bins_Bins_maxY-@maxY.png", + pdcsapbinningDataU, plotFiltersU, PDCSAPlabelList, PDCSAPcolorList, f"Flare peaks per phase of {', '.join(combo)} type stars (Rot. Period under {periodCut} days, {numStarsPeriodU} stars)", f"{locFolder}/{''.join(combo)}-Flarepeaks-Period_u_{periodCut}-maxY_@maxY.png") if(len(PDCSAPdataList2dhistPhaseO) > 0 and len(PDCSAPdataList2dhistPeakO) > 0): xDataO, yDataO, _ = setupxyDataAndDataList(PDCSAPdataList2dhistPhaseO, PDCSAPdataList2dhistPeakO, pdcsapbinningDataO, "PDCSAPNormPhase",) if(len(PDCSAPdataListO) > 0 and len(xDataO) > 0 and len(yDataO) > 0): - generatePlots(PDCSAPdataListO, PDCSAPlabelList, PDCSAPcolorList, f"Flare count per phase of {', '.join(combo)} type stars with @bins bins (Rot. Period over {periodCut} days)", f"{locFolder}/{''.join(combo)}-Flarecount-Period_o_{periodCut}-@bins_Bins.png", - xDataO, yDataO, f"Flare peak per phase histogram of {', '.join(combo)} type stars with @bins bins (Rot. Period over {periodCut} days)", f"{locFolder}/{''.join(combo)}-Flarepeaks-Period_o_{periodCut}-@bins_Bins_maxY-@maxY.png", - pdcsapbinningDataO, plotFiltersO, PDCSAPlabelList, PDCSAPcolorList, f"Flare peaks per phase of {', '.join(combo)} type stars (Rot. Period over {periodCut} days)", f"{locFolder}/{''.join(combo)}-Flarepeaks-Period_o_{periodCut}-maxY_@maxY.png") + generatePlots(PDCSAPdataListO, PDCSAPlabelList, PDCSAPcolorList, f"Flare count per phase of {', '.join(combo)} type stars with @bins bins (Rot. Period over {periodCut} days, {numStarsPeriodO} stars)", f"{locFolder}/{''.join(combo)}-Flarecount-Period_o_{periodCut}-@bins_Bins.png", + xDataO, yDataO, f"Flare peak per phase histogram of {', '.join(combo)} type stars with @bins bins (Rot. Period over {periodCut} days, {numStarsPeriodO} stars)", f"{locFolder}/{''.join(combo)}-Flarepeaks-Period_o_{periodCut}-@bins_Bins_maxY-@maxY.png", + pdcsapbinningDataO, plotFiltersO, PDCSAPlabelList, PDCSAPcolorList, f"Flare peaks per phase of {', '.join(combo)} type stars (Rot. Period over {periodCut} days, {numStarsPeriodO} stars)", f"{locFolder}/{''.join(combo)}-Flarepeaks-Period_o_{periodCut}-maxY_@maxY.png") binList = [10, 20, 30] spType = ["M", "K", "G", "F"] @@ -851,11 +852,11 @@ if __name__ == "__main__": data = pd.merge(data, validStarPeriodMap, on="StarName") - starPlotFunc = partial(plotStar, data, showSourceFilter, folderPath) - list(pool.map(starPlotFunc, allStars)) # wrap in list, to force evaluation + #starPlotFunc = partial(plotStar, data, showSourceFilter, folderPath) + #list(pool.map(starPlotFunc, allStars)) # wrap in list, to force evaluation - starPlotPeriodFunc = partial(plotStarPeriod, dataPeriod, showSourceFilter, folderPath) - list(pool.map(starPlotPeriodFunc, allStars)) # wrap in list, to force evaluation + #starPlotPeriodFunc = partial(plotStarPeriod, dataPeriod, showSourceFilter, folderPath) + #list(pool.map(starPlotPeriodFunc, allStars)) # wrap in list, to force evaluation combos = [] for comboLength in range(1, len(spType) + 1):