Reportlab - 饼图填充颜色
我正在使用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)
2 个回答
0
你可以使用 color.HexColor("#f00") 这个方法。看看下面的例子。
3
好吧,有几种方法可以做到这一点。
这个属性叫做 .fillColor,但你需要确保正确地提供颜色。下面有两种方法,分别使用CMYK和RGB颜色。
使用CMYK颜色 catColor = PCMYKColor(0,0,0,100)
pc.slices[0].fillColor = catColor
使用RGB颜色 catColor = Color(0.10,0.26,0.46)
pc.slices[0].fillColor = catColor
- 显然,你不需要单独定义CatColor这个变量,可以把这两行代码合在一起。
想了解更多关于颜色的信息,可以在这里查看(reportlab文档,见第23页)