<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def fill_between(self, canvas, X, lower, upper, color=None, label=None, **kwargs):
 """ Fill along the xaxis between lower and upper. the kwargs are plotting library specific kwargs! """

        raise NotImplementedError("Implement all plot functions in AbstractPlottingLibrary in order to use your own plotting library")