@@ -44,14 +44,30 @@ def plot_maps(self, exclusion_mask=None):
4444 self .plot_regions (exclusion_mask = exclusion_mask )
4545 self .plot_theta2 ()
4646
47- def plot_spectra (self , flux_points = None , model = None ):
48- """Spectrum related plots."""
47+ def plot_spectra (self , flux_points = None , model = None , y_min = None , y_max = None ):
48+ """
49+ Spectrum related plots.
50+
51+ Parameters
52+ ----------
53+ flux_points : `~gammapy.datasets.FluxPointsDataset`
54+ Flux points dataset to plot
55+ model : `~gammapy.modeling.models.Model`
56+ Model to plot
57+ y_min : float, optional
58+ Minimum y-axis value for the SED plot
59+ y_max : float, optional
60+ Maximum y-axis value for the SED plot
61+
62+
63+ """
4964 for dataset in self .data_set :
5065 self .plot_fit (dataset )
5166
5267 self .plot_flux_points (flux_points )
5368 self .plot_sed (
5469 FluxPointsDataset (data = flux_points , models = model .copy ()),
70+ y_min = y_min , y_max = y_max ,
5571 )
5672
5773 def plot_light_curves (self , light_curves ):
@@ -124,6 +140,7 @@ def plot_fit(self, data_set):
124140 ax_spectrum , _ = data_set .plot_fit ()
125141 except ValueError :
126142 return
143+ # TODO: Adjust axis limits and add any necessary labels or annotations to improve plot clarity.
127144 ax_spectrum .set_ylim (0.1 , 40 )
128145 data_set .plot_masks (ax = ax_spectrum )
129146 try :
@@ -141,11 +158,13 @@ def plot_flux_points(self, flux_point_dataset):
141158 flux_point_dataset .plot_ts_profiles (ax = ax , sed_type = "dnde" )
142159 self ._plot (plot_name = "flux_points" , output_dir = self .output_dir )
143160
144- def plot_sed (self , flux_point_dataset ):
161+ def plot_sed (self , flux_point_dataset , y_min = None , y_max = None ):
145162 """Plot spectral energy distribution."""
146163 kwargs_model = {"color" : "grey" , "ls" : "--" , "sed_type" : "dnde" }
147164 kwargs_fp = {"color" : "black" , "marker" : "o" , "sed_type" : "dnde" }
148- flux_point_dataset .plot_spectrum (kwargs_fp = kwargs_fp , kwargs_model = kwargs_model )
165+ ax = flux_point_dataset .plot_spectrum (kwargs_fp = kwargs_fp , kwargs_model = kwargs_model )
166+ if y_min is not None and y_max is not None :
167+ ax .set_ylim (y_min , y_max )
149168 self ._plot (plot_name = "spectrum" , output_dir = self .output_dir )
150169 try :
151170 flux_point_dataset .plot_residuals (method = "diff/model" )
0 commit comments