Something doesn't add up here, you're asking for a range of [1m], but you only have data points every 2 minutes. This is impossible, because you will never have two data points within the range, if you really have data only every 2 minutes, you would get a "no data" result from your query.
But, what you're probably seeing is that you have a faster scrape interval, and you have selected a step of 15 seconds. Prometheus time accuracy is down to the millisecond. So your actual timestamps are probably something like 0:05.525, 0:35.525, 1:05.525, 1:35.525, 2:05.525 2:35.525, etc.
When you're asking for a step of 15 seconds, the time range of [1m] is going to be overlapping the same data points multiple times. Each evaluation step is unaware of the other evaluation steps.