Python Reportlab垂直条形图间距不一致

时间:2012-03-19 09:20:36

标签: python charts reportlab

我使用reportlab生成简单的条形图。 以下是我的代码。

from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.barcharts import VerticalBarChart

d = Drawing(300, 200)
chart = VerticalBarChart()
chart.width = 260
chart.height = 160
chart.x = 30
chart.y = 30
chart.groupSpacing = 10
chart.barWidth = 4
chart.data = [[20.5,0.01],[32.4,0.01]]
chart.categoryAxis.categoryNames = ['foo','bar']

d.add(chart)
d.save(fnRoot='trial',formats=['png',])

enter image description here

两个条形图都显示在'foo'下,而一个条形图必须位于'foo'下,另一个条形图位于'bar'标签下。

我尝试了groupSpacing和barSpacing,但可以使条形码符合正确的标签。

你能告诉我如何解决这个问题。我是reportlab的新手,因此无法解决这个问题,而且报告库的文档也很少。

我需要添加更多标签,以便我能做到这一点。

由于

1 个答案:

答案 0 :(得分:1)

这里有一个误解,你的图表数据像[[20.5,0.01],[32.4,0.01]]那样串联,所以你的第一组有两个数值条20.5和32.4,你的第二组有另外两个条形值0.01和0.01。第二个系列的值太小,你看不到它们的条形。 如果您希望在第一组中显示32.4条,在第二组中显示20.5条,那么您可以将数据更改为

chart.data = [(20.5,32.4),(0.01, 0.01)]