# Mathematica, <s>186</s> 183 bytes Graphics[{Hue@#,Disk[{0,0},{1,1},a=2Pi{##}],Black,Text[ToString@Round[100(#2-#)]<>"%",FromPolarCoordinates@{5/4,Mod[Mean@a,2Pi,-Pi]}]}&@@@Partition[Accumulate[#/Tr@#]~Prepend~0,2,1]]& Could be golfed further. Currently generates a `Graphics` object. Test cases: ![](https://i.sstatic.net/72p41.png) --- ![](https://i.sstatic.net/dIDxq.png) --- ![](https://i.sstatic.net/CZtOm.png)