【问题标题】:XLSXWRITER changing color for individual columnXLSXWRITER 更改单个列的颜色
【发布时间】:2016-04-20 12:07:52
【问题描述】:

我正在尝试更改柱形图中特定条形的填充颜色,我正在使用 xlsxwriter 通过电子表格进行设计。这是我的代码中的一个 sn-p,如下:

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 的值显示为红色。

谢谢

【问题讨论】:

    标签: python xlsxwriter


    【解决方案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()
    

    输出:

    【讨论】:

    • 这正是我所期待的。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    • 2017-08-18
    相关资源
    最近更新 更多