From 9afe0993f639bbab1faae1a131be2af9066d9a13 Mon Sep 17 00:00:00 2001 From: SGCMarkus Date: Sat, 31 May 2025 16:53:17 +0200 Subject: [PATCH] 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):