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