我知道现在回答有点晚了,但如果其他人也遇到同样的问题,以下是对我有用的方法:
在您编写的代码的开头:
from reportlab.lib.colors import HexColor
pdf_chart_colors = [
HexColor("#0000e5"),
HexColor("#1f1feb"),
HexColor("#5757f0"),
HexColor("#8f8ff5"),
HexColor("#c7c7fa"),
HexColor("#f5c2c2"),
HexColor("#eb8585"),
HexColor("#e04747"),
HexColor("#d60a0a"),
HexColor("#cc0000"),
HexColor("#ff0000"),
]
您可以更改颜色代码以获得您喜欢的任何颜色,一些示例:http://www.creativecolorschemes.com/resources/free-color-schemes/beautiful-color-scheme.shtml http://www.creativecolorschemes.com/resources/free-color-schemes/beautiful-color-scheme.shtml
生成饼图时,只需在末尾添加两行:
def piechart(Values, Names):
d = Drawing(100, 125)
cht = Pie()
...
n = len(cht.data)
setItems(n,cht.slices,'fillColor',pdf_chart_colors)
其中 setItems 先前已定义为:
def setItems(n, obj, attr, values):
m = len(values)
i = m // n
for j in xrange(n):
setattr(obj[j],attr,values[j*i % m])
使用此链接(最后一个饼图示例)进行额外的电子参考:http://m.blog.csdn.net/blog/wdt3385/10142163 http://m.blog.csdn.net/blog/wdt3385/10142163