Hi. Create a cilinder with very dense subdivision. Apply a deformer\texture. Assign a ramp as “projection map”. Cilindrical projection map, scale it based your cilinder. model.
Add a series of new ramp position with different color scale, based grey scale,
Create your curve, select cilinder, select curve, go to \deform\curve warp. Et voilà. You can joke with scale and rotation based a curve warp ramp. You can have an effects like this:
. Using the sam ramp, duplicate it, and assign as color of your shader. Change the grey scale color to your prefer color variation.