function fourierPlotFnc(data, fileSettings, checkboxes, start, stop, yAxis, xAxis, channels, path)
    
    %Iterate through all channels
    for channel = 1:width(data)
        
        %If Graph is checked
        if checkboxes{channel}.Value == 1

            %Convert start and ending time
            beginning = str2double(start{channel}.Value);
            ending = str2double(stop{channel}.Value);
    
            %if first row increment is not checked
            if fileSettings{2}.Value == 0
                [timeArray, yData] = timeAxisWithIncrement(data, fileSettings{3}.Value, beginning, ending, channel); 
            else
                if ending == 0
                    timeArray = data(:,1);
                    yData = data(:, channel);
                else

                    timeIndex = 1;
                    while data(timeIndex,1) < str2double(start{channel}.Value)
                        timeIndex = timeIndex + 1;
                    end
    
                    startIndex = timeIndex;
    
                    while data(timeIndex, 1) <= str2double(stop{channel}.Value) || timeIndex >= length(data)
                        timeArray(timeIndex - startIndex + 1) = data(timeIndex,1);
                        timeIndex = timeIndex + 1;
                    end
    
                    endIndex = timeIndex;
    
                    for timeIndex = startIndex:endIndex - 1
                        yData(timeIndex - startIndex + 1) = data(timeIndex, channel);
                    end
                end
            end

            fs = 1 / fileSettings{3}.Value;
            
            if length(yData) < 1024
                Nspec = length(yData) - 1;
            else
                Nspec = 1024;
            end
            wspec = hamming(Nspec);
            Noverlap = int16(Nspec/2);

            hold on
            figure(channel)

            spectrogram(yData, wspec, Noverlap, Nspec, fs, 'yaxis');
            title(channels{channel});

       
            saveFigs('fourier', figure(channel), channels(channel), path, fileSettings{1}.Value)
            
            %reset
            hold off;
            close all;

        end
       
    end    

end

