Xslxwriter列图表数据标签百分比属性不起作用

我在Excel(2016)中创build了一些柱状图,用python(3.5.3)pandas(0.20.1)创build表格,并用xlsxwriter(0.9.6)创build表格和图表。 我想用相对于所有值的总和的值的百分比来标记每个列,如在这个图像中: Desired Output Chart

基于我对Xslxwriter文档的理解,我只需要在向图表添加一个系列时包含'data_labels':{'percentage': True}属性,就像我在下面的代码中所做的那样:

 df = pandas.DataFrame(data=[1,2,3,4,5],index=['a','b','c','d','e']) writer = pandas.ExcelWriter('C:/Users/Name_A_Place/sandbox.xlsx') df.to_excel(writer) wrkbk = writer.book wrksht = writer.sheets['Sheet1'] chrt = wrkbk.add_chart({'type':'column'}) chrt.add_series({'categories': '=Sheet1!A2:A6', 'values': '=Sheet1!B2:B6', 'data_labels': {'percentage':True, 'font': {'rotation':-45}}, }) wrksht.insert_chart("E1",chrt) writer.save() 

但是,此代码将创build一个没有标签的图表: 实际输出图表 。

我误解百分比数据标签属性的工作原理吗?

我一直在解决这个问题,通过创build一个单独的百分比列,并使用该列'data_labels': {'value': True}标记'data_labels': {'value': True}属性,但是如果有人能够解释为什么我的代码不会产生输出I希望,我将不胜感激。

我认为你只是在XlsxWriter文档中没有logging清楚的Excel的限制。 如果您打开Excel并手工创build图表,则会注意到数据标签的“百分比”选项不适用于条形图或柱形图(但适用于饼图或其他可能的graphics)。 您将需要通过使用单独的单元格(“来自单元格的值”)继续使用数据标签。 我已经在XlsxWriter GitHub上打开了一个问题 ,尝试获得改进的文档。

带百分比数据标签选项的饼图 带有百分比数据标签的Excel饼图

没有百分比数据标签选项的柱形图 Excel列图没有百分比数据标签

百分比属性用于打开数据标签的显示,作为系列的百分比。 它主要用于饼图:

 import pandas as pd df = pd.DataFrame(data=[1,2,3,4,5],index=['a','b','c','d','e']) writer = pd.ExcelWriter('C:/Users/Name_A_Place/sandbox.xlsx') df.to_excel(writer) wrkbk = writer.book wrksht = writer.sheets['Sheet1'] chrt = wrkbk.add_chart({'type':'pie'}) chrt.add_series({'categories': '=Sheet1!A2:A6', 'values': '=Sheet1!B2:B6', 'data_labels': {'percentage':True, 'font': {'rotation':-45}}, }) wrksht.insert_chart("E1",chrt) writer.save()