2

我正在reportlab 中制作一个简单的饼图。我在文档中找不到如何更改每个单独的馅饼填充颜色。

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']

pc.slices[1]. // This is where I need the fill color property.

pie_chart.add(pc)
renderPM.drawToFile(pie_chart, '/images/temp/pie_chart.png', 'PNG')
p.drawImage('/images/temp/pie_chart.png', 10, 60, width=150, height=150, mask=None)
4

2 回答 2

3

好的,有几种方法可以做到这一点。

该属性是 .fillColor,但您必须确保正确地为其提供颜色。下面是两种方式,CMYK 和 RGB。

  1. 使用 CMYK catColor = PCMYKColor(0,0,0,100)

    pc.slices[0].fillColor = catColor

    看到这个片段

  2. 使用 RGB 颜色 catColor = Color(0.10,0.26,0.46)

    pc.slices[0].fillColor = catColor

    • 显然你不需要 CatColor 变量,你可以把这些线放在一起。

在此处查看有关颜色的更多信息(reportlab 文档,请参见第 23 页)

于 2010-10-11T20:37:39.420 回答
0

您可以使用 color.HexColor("#f00")。检查以下示例`

十六进制颜色代码

于 2014-11-07T06:27:13.580 回答