我尝试更改柱形图中特定条形的填充颜色,我使用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处的值显示为红色。
由于
答案 0 :(得分:2)
Excel执行此操作的方式是将每个列视为数据 point 并将格式应用于该点或不应用该系列默认值。
您可以使用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()
输出: