2012-03-19 57 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