Assuming you are using formulas to link your table to the three pivots, you would need to adjust the formulas to show blanks when there is no pivot table data, then extend the formulas to the maximum range of your pivots. Short of that, you could use some VBA to re-create the table formulas when you refresh the pivot tables, that is a bit harder but not impossible.

You can use a dynamic range for your chart, that only includes the range with data. I typically use named ranges for this, something like:

DataRange:

=Offset(DataStart,0,0,Count(A:A),1)

where DataStart is the starting point of a column of the table and column A's rows are fully populated with data in the table.