我正在尝试更改使用xlsxwriter通过电子表格设计的柱形图中特定条形的填充颜色。这是我的代码的以下片段:

chartsheet=wb.add_chartsheet('ACCURACY')
chart=wb.add_chart({'type': 'column'})
chart.add_series({
'categories': '=SHEET1!$C$1:$O$1',
'values':     '=SHEET1!$C$15:$O$15',
'fill':   {'color': 'red'}
})
chartsheet.set_chart(chart)


这可以工作,但是将所有条形填充都设置为红色,我只需要最后一个条形表示单元格O1处的类别以及单元格O15处的值显示为红色。

谢谢

最佳答案

Excel执行此操作的方法是将每个列都视为一个数据点,并对该点应用格式,或者不应用任何格式以使系列具有默认值。

您可以使用points series property在XlsxWriter中执行相同的操作,并根据需要为列填写格式,如下所示:

import xlsxwriter

workbook = xlsxwriter.Workbook('chart.xlsx')

worksheet = workbook.add_worksheet()
chart = workbook.add_chart({'type': 'column'})

data = [
    [1, 2, 3, 4, 5],
    [2, 4, 6, 8, 10],
]

worksheet.write_column('A1', data[0])
worksheet.write_column('B1', data[1])

chart.add_series({
    'categories': '=Sheet1!$A$1:$A$5',
    'values': '=Sheet1!$B$1:$B$5',
    'points': [None, None, None, None, {'fill': {'color': 'red'}}],
})

worksheet.insert_chart('D3', chart)

workbook.close()


输出:

python - XLSXWRITER更改单个列的颜色-LMLPHP

关于python - XLSXWRITER更改单个列的颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34801895/

10-13 08:39