2012-03-19 85 views
1

我正在使用reportlab生成简单的条形图。 以下是我的代码。Python Repotrlab垂直条形图间距不一致

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

两个杆被下“富”显示,而一个必须是下“富”和另一下“酒吧”标贴。

我试过groupSpacing和barSpacing,但可以使酒吧来正确的标签。

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

我需要添加更多的标签,所以我该如何做到这一点。

感谢

回答

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)] 
+0

感谢..我试图chart.data = [(20.5,32.4)]以创建一个组,然后可以在条形图之间留出空间..还有一个问题...我如何设置此条形图的标题/标题。非常感谢您的帮助。谢谢 – PyBegginer 2012-03-22 02:51:35