I am not certain what you are doing. However in many situations, it is easier to initially plot in a linear scale, then afterwards convert to log.
This is the only way to work with fill and patch with logarithmic axis scales.
Also, be certain that none of the data are NaN, since neither fill nor patch will work correctly if any of the data are NaN. If there are any, eliminate them by first locating them, then eliminating the rows with NaN values. One way to do that is:
data = data(~any(isnan(data),2), :);
That should eliminate any NaN values that are present in the data set.