Openpyxl更改图表的维度

时间:2016-04-13 15:58:12

标签: python-2.7 openpyxl

在openpyxl 2.2中,我可以使用图表对象的绘图方法设置图表的尺寸:

chart = openpyxl.charts.BarChart()
chart.drawing.top = 100
chart.drawing.left = 100
chart.drawing.width = 600
chart.drawing.height = 600

在新版本(> 2.3.3)中,此方法似乎不再存在。 我阅读了在线手册,我发现如下:

“图表可以放在容器内.x和y调整位置,w和h调整大小。单位是容器的比例。图表不能放在容器外面,宽度和高度是主要的约束:如果x + w> 1,则x = 1 - w。“

所以我认为我必须先更换容器。我在手册中搜索了类类openpyxl.chart.chartspace.ChartContainer 但我无法找到设置其宽度和高度的方法。

如何显示具有固定自定义尺寸的图表?

1 个答案:

答案 0 :(得分:11)

图表的代码在openpyxl 2.3中完全重写。您现在可以直接在图表上设置近似宽度和高度(cm):

chart = openpyxl.chart.BarChart()
chart.height = 10 # default is 7.5
chart.width = 20 # default is 15

所有图表测量内部都依赖于转换到操作系统,因此系统之间可能会有很大差异。