Qué tal, dejo mi código, le faltan varias consideraciones como que no acepte coordenadas sobres los bordes para que se pueda ver completa o que no acepte tamaños muy grandes que no quepan, pero eso ya sería para programas que tengan interacción con el usuario. Saludos.
<canvas width="600" height="400"></canvas>
<script>
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");
pincel.fillStyle = "lightgray";
pincel.fillRect(0, 0, 600, 400);
function dibujarCirculo(x, y, radio, color) {
pincel.fillStyle = color;
pincel.beginPath();
pincel.arc(x, y, radio, 0, 2*3.14);
pincel.fill();
}
function dibujarFlor(x, y, tam){
var radio = tam / 2;
var colores = ["red","yellow","black","blue","orange"]
var coordx = [x,x,x+tam,x,x-tam];
var coordy = [y,y-tam,y,y+tam,y];
for(var i = 0; i<5; i++){
dibujarCirculo(coordx[i],coordy[i],radio,colores[i]);
}
}
dibujarFlor(300,200,30);
</script>