Hello @linlin87,
I think the issue is that you specify a constant value in the UPPER= option of the BAND statement rather than the variable UP1, which you defined in the BOUNDARY dataset. So try this:
band x=x upper=up1 lower=-0.002 / fillattrs=(transparency=0.5 color=gray);
Depending on the content of dataset PLOT_DATA and how you use it in your real PROC SGPLOT step, other techniques to limit the gray box include:
If the box doesn't look exactly rectangular, you may also want to add the TYPE=STEP option to the BAND statement.