How to keep the gradient when joining objects?
(Edited using the provided file)
To keep the gradient when joining the petals, you can use UV coordinates.
Then just project the UV map from top and join.

(To get the same UV map, just select the petal and UV &gt; Project from view)