diff --git a/rhapsody/predict/figures.py b/rhapsody/predict/figures.py index c3c37d3..e515f48 100644 --- a/rhapsody/predict/figures.py +++ b/rhapsody/predict/figures.py @@ -221,7 +221,12 @@ def print_sat_mutagen_figure(filename, rhapsody_obj, res_interval=None, # average pathogenicity profile x_resids = np.arange(1, upper_lim+1) # shading showing range of values - ax2.fill_between(x_resids, min_p, max_p, alpha=0.5, + # NB: a bug in pyplot.fill_between() arises when selecting a region with + # set_xlim() in a large plot (e.g. > 1000), causing the shaded area to + # be plotted even though it's outside the selected region. As a workaround, + # here I slice the plot to fit the selected region. + sl = slice(max(1, res_i-2), min(res_f+2, upper_lim+1)) + ax2.fill_between(x_resids[sl], min_p[sl], max_p[sl], alpha=0.5, edgecolor='salmon', facecolor='salmon') # plot average profile for other predictions, if available if extra_plot is not None: