Preheat oven to 180°C. Grease a 10cm x 20cm (base measurement) loaf pan. Line base and sides with baking paper, allowing the sides to overhang.
Use an electric mixer to beat the butter, sugar and grapefruit rind in a bowl until pale and creamy. Add the eggs, 1 at a time, beating well after each addition. Add the yoghurt, flour and coconut, in alternating batches, and stir until just combined. Spoon the mixture into the prepared pan and smooth the surface.
Bake for 1 hour or until a skewer inserted in the centre comes out clean. Set aside in the pan for 5 mins before transferring to a wire rack to cool.
Meanwhile, to make the candied grapefruit and rosemary, line a baking tray with baking paper. Combine sugar and 1 cup (250ml) water in a frying pan over medium-low heat. Cook for 3 mins or until sugar dissolves. Add grapefruit slices and rosemary to pan and cook, turning occasionally, for 30 mins or until the grapefruit rind is translucent. Transfer grapefruit slices and rosemary to the lined tray. Set aside to cool.
To make the grapefruit icing, place the icing sugar in a medium bowl. Stir in enough grapefruit juice to make a runny paste. Use a flat-bladed knife to spread the mixture over the top of the cake. Set aside for 30 mins to set.
Transfer the cake to a serving plate. Top with the grapefruit slices and rosemary. Cut into slices to serve.