2012-03-19 37 views
1

私は単純な棒グラフを生成するためにreportlabを使用しています。 以下は私のコードです。Python Repotrlabの縦棒グラフ間隔不一致

enter image description here

つ 'バー' lables下 'foo' と別の下でなければならないが、両方のバーは、 'FOO' の下に表示されている

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',]) 

私はgroupSpacingとbarSpacingを試しましたが、バーが正しいlablesの下に来るようにすることができました。

解決方法を教えてください。私はreportlabに新しいので、これを解決することはできません。また、利用可能なreportlabのドキュメントも非常に少なくなっています。

これを行うには、ラベルを追加する必要があります。

おかげ

答えて

1

[[20.5,0.01]、[32.4,0.01]]だから最初のグループは値が20.5と32.4の二つのバー、2番目のを持っているように誤解がここにあり、あなたのチャートデータは、直列に来ます0.01と0.01の値の別の2つの小節があります。 2番目のシリーズの値は非常に小さく、バーが表示されません。 あなたの欲求は、第2グループの第1グループの32.4バーと20.5を表示することだった、あなたは

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

感謝にあなたのデータを変更することができます..私は、[(20.5,32.4)] = chart.dataをしようとした場合1つのグループを作成して、棒グラフの間にスペースを与えることができます。もう1つの質問...この棒グラフのタイトル/見出しを設定するにはどうすればいいですか?本当に助けに感謝します。ありがとう – PyBegginer

関連する問題