wasn't sure how to phrase this so I thought I'd post an example of the kind of effect I'm looking for.
I understand that this could simply be made with the gradient tool but not sure how to get the 'spread'
any help would be massively appreciated.
It looks like it might just be a regular linear gradient that has been masked using a radial gradient.
You can create custom gradient using the gradient editor.
Then over a black layer, I filled a new layer with the Rainbow gradient I made. Then I used a black and white gradient to create a layer mask consisting of a radial gradient, which I stretched into an oval.
Just in case the problematic colored area is the smaller one which contains everything that a rainbow has you can try this:
Have a black background layer. Then you make the colored shape to a new layer. In Photoshop you can draw a path, convert it to selection and and fill the selection with a gradient:
(sorry for irregular looking path, you can get easily better result in Illustrator where working with paths is much more comfortable - copy the result and paste it to Photoshop)
Then apply Gaussian blur:
If the edges seem too thin, undo and try smaller blur radius.
You can also duplicate the layer once or more times and merge the duplicates. It can be a good idea to squeeze the duplicates vertically to avoid the shape becoming too high. It's tried here:
If you merge the gradient shape with black BG before blurring it's possible to restore the gradient fidelity to some degree with curves: