diff --git a/artistools/spectra/plotspectra.py b/artistools/spectra/plotspectra.py index 6b9cf43a8..61f734306 100755 --- a/artistools/spectra/plotspectra.py +++ b/artistools/spectra/plotspectra.py @@ -694,15 +694,19 @@ def make_emissionabsorption_plot( linecolor = emissioncomponentplot.get_color() else: linecolor = None - plotobjects.append(mpatches.Patch(color=linecolor)) if args.showabsorption: - axis.plot( + (absorptioncomponentplot,) = axis.plot( arraylambda_angstroms, -x.array_flambda_absorption * scalefactor, color=linecolor, linewidth=1, ) + if not args.showemission: + linecolor = absorptioncomponentplot.get_color() + + plotobjects.append(mpatches.Patch(color=linecolor)) + elif contributions_sorted_reduced: if args.showemission: stackplot = axis.stackplot( diff --git a/artistools/spectra/spectra.py b/artistools/spectra/spectra.py index 8be32360b..2932d8629 100644 --- a/artistools/spectra/spectra.py +++ b/artistools/spectra/spectra.py @@ -1090,7 +1090,9 @@ def get_emprocesslabel(emtype: int) -> str: ) ) - assert array_flambda_emission_total is not None + if array_flambda_emission_total is None: + array_flambda_emission_total = np.zeros_like(array_lambda, dtype=float) + assert array_lambda is not None return contribution_list, array_flambda_emission_total, array_lambda