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

标签 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 的新手,因此无法解决这个问题,而且 reportlab 的可用文档也很少。

我需要添加更多标签,我该怎么做。

谢谢

最佳答案

这里有一个误解,您的图表数据按 [[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)]

关于Python Repotrlab垂直条形图间距不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9767592/

相关文章:

Python openAL 3D音效

javascript - 谷歌图表中的预选点

jquery - 使用 Ajax 在 Django 中打开 Reportlab 生成的 PDF 文件

python - 如何使用 reportlab 添加指向单词的链接?

python - reportlab TableStyle 中的 VALIGN 显然没有效果

python - Django 事务

python - 从 xyz 坐标查找多边形的面积

python - Scrapy:蜘蛛中间件中的异步数据库请求?

javascript - 如何格式化多系列列 2D Fusion Chart 工具提示字符串

angularjs - nvd3 中的事件处理