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)

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

Спасибо


person COCO    schedule 14.01.2016    source источник


Ответы (1)


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

Вы можете сделать то же самое в XlsxWriter, используя свойство points series и просто заполните форматы для столбцов по мере необходимости, например:

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

Выход:

введите здесь описание изображения

person jmcnamara    schedule 15.01.2016
comment
Это именно то, что я искал. Огромное спасибо! - person COCO; 15.01.2016