function diffPlotFnc(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

            %Plot the channel
            figure(channel)
            plot(timeArray, yData, '-b');
            hold all
            
            %shorten time array to match lost value from diff
            timeArray(end) = [];

            plot(timeArray, diff(yData), '-r');
            ylabel(yAxis{channel}.Value);
            xlabel(xAxis{channel}.Value);
            legend('Original', 'Derivative')
            title(channels{channel});
            
            %Save plot
            saveFigs('derivative', figure(channel), channels(channel), path, fileSettings{1}.Value)
            
            %reset
            hold off
            close all;

        end
       
    end    
end

