2

I have been hunting all over for a tutorial on how to build arc/rainbow graphs like the one in the picture.enter image description here I'm confident that I could make paths line up with one another like that but I need a way to get the paths to be sized proportionally to corresponding data. Any ideas?


  • Related: Is math needed for graphic design?. If you mention any specific software, it could be scriptable for that. The math ain't that hard. – usr2564301 Oct 10 '18 at 21:12
  • 1
    What software are you using? – Billy Kerr Oct 10 '18 at 21:43
  • 1
    as a sidenote: if you actually need people to read/understand your data easily and "accurately", this seems like a pretty bad kind of chart to use. (if you just go for "ooh, pretty!", then go ahead ☺) – J.E Oct 11 '18 at 9:06
  • Do you need automatic redrawing when the data changes? If you have fixed data and no need to track data changes, making this as a normal Illustrator drawing is quite elementary. Inform, if you can accept the non-live data version. – user287001 Oct 12 '18 at 10:06
  • I am using illustrator. It does not need automatic redrawing. – jseymour186 Oct 17 '18 at 20:57
1

This plot can be made quite easily in R's ggplot package. I presume python and other's would also be able to do it quite easily.

Basic idea is to draw a regular barplot and transform it into polar co-ordinates! enter image description here

Here's the code

dset <- data.frame(score = c(1,5,8,9,13,15)) # load dummy data
# make the plot as a bar graph, add points and transform to polar coordinates. To make the max bar length in a semicircle, I made the total y axis length 30 and increased x range to move points away from origin
ggplot(data = dset, mapping = aes(y = score, x = c(16:11))) + geom_bar(stat = 'identity') + geom_point(size = 5, fill = 'white', shape = 21) + coord_polar(theta = 'y') + ylim(c(0,30)) + xlim(c(0,17))
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.