在饼图上填充不同颜色的切片

时间:2018-03-01 22:40:28

标签: python graph reportlab

我有一个包含6个切片的饼图,我期待更改饼图中显示的默认颜色。 据我所知,使用.fillColor我可以改变切片的颜色。

pie_chart = Drawing(200, 200)
pc = Pie()
pc.x = 65
pc.y = 15
pc.width = 150
pc.height = 150
pc.data = [65,13,12,9,1]
pc.labels = ['Name','Another','Yet Another','Test','Stack','Flow')

We can change the color of a slice using:
pc.slices[1].fillColor=red

但是我期待改变所有6个切片的颜色,因此我尝试了:

colores=[red,brown,violet,yellow,green,pink]
pc.slices.fillColors=colores

它输出错误:

AttributeError: Illegal attribute 'fillColors' in class WedgeProperties

我的问题是:如何在一行代码中更改每个切片的颜色?有没有财产可以这样做?

1 个答案:

答案 0 :(得分:1)

没有属性fillColors:它是单数,fillColor;你不能简单地改变名称,并希望解析器找出你的意思。

正如TemporalWolf已经引导你走向,文档展示了如何通过循环执行此操作。在你的情况下,像:

for index, color in enumerate(colores):
    pc.slices[i].fillColor  = colores[i]

这假设您的图表中有len(colores)个切片。