Hi all,

Ahhhh gradients, what a blast from the past in the design world.

A couple years ago you may have seen Ivett publish about colour gradient circles. I actually think they look amazing.


Ivett’s example uses bins to create each of the different circle gradients, and has applied some beautiful palettes to each of them show above. You can see the creation here.

If you are more a bins person, why not also check out Toan’s blog on how to create gradients, here.

For me, I’m not huge on bins, they’re simple to grasp but I have my way of making circles now and I like to stick to it. Not very accommodating of me, I know but joining data in just feels so much easier.

So today is a mini tutorial on how you can emulate gradient circles (or portions of, but using a simple dataset.

What does it look like? You’ll see I have one column called dot. 1 through 360, coincidentally the number of degrees in a circle. You can download the workbook and dataset from the top of the page under the Github and TP links under the title.

Create a calculation ranking these

001. Rank


Next we want to find an equal constant spacing between them so find the angle the dots will be separated by. I.e 360 degrees divided by the number of dots.

002. Angle

(360/{fixed : MAX([Dot])})

We then times these values together, to space them out

003. Rank Angle

[001. Rank]*[002. Angle]

Finally a bit of trig, and we have our circle when we plot them against each other as dimensions, easy.

004. X

cos(radians([003. Rank Angle]))

005. Y

sin(radians([003. Rank Angle]))

Next thing we can do is change path to line,

Now it will automatically pick the path of the line, as we have nothing yet on the path.

If we increase the size of these marks, then it fills the circle in nicely.

Now we just need to add a bit of colour.

Lets drag Y onto path, this means we will have our gradient working horizontally, the thing to recognise with this is, the way we draw the path is the way our gradient will end up.

Create a colour calculations

006. Colour

cos(radians([003. Rank Angle]))

Drag that onto colour

Of course we can create a parameter to help the angle of our gradient.

Finally we can go back and amend our colour calculation

cos(radians([003. Rank Angle]-[Change Gradient Angle]))

Now when we change the value of the parameter the gradient changes rotation.

I think the beauty of building gradient circles this way is that you can also start to look to bring in more layers!

One final thing that we will have learnt in previous blogs is we don’t even have to make our circles full circles. Perhaps we want to create some geometric gradient patterns.

You can play around with the path lines to be able to create custom shapes.

Bit of a fun one today. Probably worth thinking about how it may explode your data to be 100’s of times the size, but pretty no doubt.