# 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)