我正在使用此功能使用Reportlab
创建条形图def make_drawing():
from reportlab.lib import colors
from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.barcharts import HorizontalBarChart
drawing = Drawing(400, 200)
data = [
(13, 5, 20, 22, 37, 98, 19, 4),
]
names = ["Cat %s" % i for i in xrange(1, len(data[0])+1)]
bc = HorizontalBarChart()
bc.x = 20
bc.y = 50
bc.height = 200
bc.width = 400
bc.data = data
bc.strokeColor = colors.white
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = 100
bc.valueAxis.valueStep = 10
bc.categoryAxis.labels.boxAnchor = 'ne'
bc.categoryAxis.labels.dx = -10
bc.categoryAxis.labels.fontName = 'Helvetica'
bc.categoryAxis.categoryNames = names
drawing.add(bc)
return drawing
默认情况下,条形图颜色设置为红色
在设置bc.categoryAxis.categoryNames
后添加这两行 bc.bars[0].fillColor = colors.blue
bc.bars[1].fillColor = colors.red
希望将第一个栏设置为蓝色。但是现在所有的酒吧都是蓝色的。
答案 0 :(得分:2)
这是一个迟到的答案,但这是我在寻找相同解决方案时找到的第一个结果。
如果您在一个条形图中有一系列条形,则按照其索引为每个系列着色。但要为一个系列中的每个条形图着色,请使用坐标:
<li class="parent">
等
答案 1 :(得分:0)