function [scatterHandle, textHandles] = scatterSatDataPositions(pAxesHandle, pSatDataPositions, pPlotAsMap) %SCATTERSATDATAPOSITIONS Summary of this function goes here % Detailed explanation goes here %% Remove NaN selection = ~isnan(pSatDataPositions.lon_sat) & ~isnan(pSatDataPositions.lat_sat); x = pSatDataPositions.lon_sat(selection); y = pSatDataPositions.lat_sat(selection); % get all SAT dates to the positions year = pSatDataPositions.year_sat(selection); month = pSatDataPositions.month_sat(selection); day = pSatDataPositions.day_sat(selection); % fill all NaN with the rtc dates year_rtc = pSatDataPositions.year_rtc(selection); month_rtc = pSatDataPositions.month_rtc(selection); day_rtc = pSatDataPositions.day_rtc(selection); year(isnan(year)) = year_rtc(isnan(year)); month(isnan(month)) = month_rtc(isnan(month)); day(isnan(day)) = day_rtc(isnan(day)); %% Calculate step size for text steps = 1:length(x); %% Prepare text cell textCell = {}; for i = steps textCell{end + 1} = {'', [' ' num2str(year(i)) '-' pad(num2str(month(i)), 2, 'left', '0') '-' pad(num2str(day(i)), 2, 'left', '0') ', ' num2str(artoa.convert.dmy2rd(day(i), month(i), year(i)))]}; end %% Plot % make handle the current axes axes(pAxesHandle); hold(pAxesHandle, 'on'); if pPlotAsMap scatterHandle = scatterm(pAxesHandle, y, x, [], [.5 .5 .5]); textHandles = textm(y(steps), x(steps), textCell, 'FontSize', 7, 'Color', [.5 .5 .5]); else scatterHandle = scatter(pAxesHandle, x, y, [], [.5 .5 .5]); textHandles = text(pAxesHandle, x(steps), y(steps), textCell, 'FontSize', 7, 'Color', [.5 .5 .5]); end hold(pAxesHandle, 'off'); end