Python | Plotting Combined charts in excel sheet using XlsxWriter module (original) (raw)

import xlsxwriter

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

worksheet = workbook.add_worksheet()

bold = workbook.add_format({ 'bold' : True })

headings = [ 'Number' , 'Batch 1' , 'Batch 2' ]

data = [

`` [ 2 , 3 , 4 , 5 , 6 , 7 ],

`` [ 10 , 40 , 50 , 20 , 10 , 50 ],

`` [ 30 , 60 , 70 , 50 , 40 , 30 ],

]

worksheet.write_row( 'A1' , headings, bold)

worksheet.write_column( 'A2' , data[ 0 ])

worksheet.write_column( 'B2' , data[ 1 ])

worksheet.write_column( 'C2' , data[ 2 ])

column_chart2 = workbook.add_chart({ 'type' : 'column' })

column_chart2.add_series({

`` 'name' : '= Sheet1 !$B$1' ,

`` 'categories' : '= Sheet1 !$A$2:$A$7' ,

`` 'values' : '= Sheet1 !$B$2:$B$7' ,

})

line_chart2 = workbook.add_chart({ 'type' : 'line' })

line_chart2.add_series({

`` 'name' : '= Sheet1 !$C$1' ,

`` 'categories' : '= Sheet1 !$A$2:$A$7' ,

`` 'values' : '= Sheet1 !$C$2:$C$7' ,

`` 'y2_axis' : True ,

})

column_chart2.combine(line_chart2)

column_chart2.set_title({ 'name' : 'Combined chart - secondary Y axis' })

column_chart2.set_x_axis({ 'name' : 'Test number' })

column_chart2.set_y_axis({ 'name' : 'Sample length (mm)' })

line_chart2.set_y2_axis({ 'name' : 'Target length (mm)' })

worksheet.insert_chart( 'D2' , column_chart2, { 'x_offset' : 25 , 'y_offset' : 10 })

workbook.close()