imposing limits effects the way colours are applied, you may have found a way to set the limits just so that the full range of colours is not expressed. I don't feel able to comment on that without access to your data or something analogous
Here is an attempt at that with the built-in iris dataset used as example data. I set the limits to the range covering the min and the media, and you can see how half the dots are coloured and half are not. You didn't say what it was you hoped to achieve by setting limits, perhaps there is a different way to do what you intend that doesnt effect the colouring, only you are setting limits on the colouring function, so it appears that you do want to influence the colours ... Can you clarify this point ?
library(tidyverse)
ggplot(data = iris) +
geom_point(aes(Sepal.Length, Sepal.Width,
colour = Petal.Length,
size = Petal.Width
), alpha = I(0.7)
) +
scale_color_gradientn(
colors =
c("blue", "green", "yellow", "red"),
limits = c(
min(iris$Petal.Length),
median(iris$Petal.Length)
)
)