2016-01-14 4 views
1

Я пытаюсь изменить цвет заливки для определенного столбца в диаграмме столбцов, которую я проектирую через электронную таблицу, используя xlsxwriter. Вот отрывок из моего кода ниже: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) 

Это работает, но он устанавливает весь бар заполняется красным, мне просто нужно последний бар бы представляет категорию в ячейках О1 и значение в ячейках О15 появится красным.

Благодаря

ответ

1

То, как Excel делает это относиться к каждому из столбцов в качестве данных точки и применить формат к точке или ни иметь ряд значений по умолчанию.

Вы можете сделать то же самое в XlsxWriter с помощью points series property и просто заполнить в форматы для колонок, как требуется, например:

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() 

Выход:

enter image description here

+0

Это именно то, что я искал. Огромное спасибо! – COCO