[?] Get dynamic image with different color for each option?

Consider the following code:

f = {1, x, x^2, x^3}
    Panel[Column[{Row[{CheckboxBar[
          Dynamic[list1], # -> f[[#]] & /@ Range[4]], Dynamic[list1]}], 
       Dynamic[Plot[f[[list1]], {x, 0, 1.5}, 
         PlotStyle -> {Red, Blue, Green, Black}, ImageSize -> 500, 
         AxesStyle -> Thick]]}]]

I want to get a Dynamic image that show differrent functions according to user selection in Checkbox.
However, now I get a fine Dynamic image except that all the curves are in the same color.
I wanna know How to set the color of each option?

Hello Wu,

Plot has the attribute HoldAll, so you have to make sure that any necessary evaluation inside gets done, using Evaluate[]:

f = {1, x, x^2, x^3}
Panel[Column[{Row[{CheckboxBar[
      Dynamic[list1], # -> f[[#]] & /@ Range[4]], Dynamic[list1]}], 
   Dynamic[Plot[Evaluate@f[[list1]], {x, 0, 1.5}, 
     PlotStyle -> {Red, Blue, Green, Black}, ImageSize -> 500, 
     AxesStyle -> Thick]]}]]

Regards – Henrik