Openpyxl currently supports chart creation within a worksheet only. Charts in existing workbooks will be lost.
The following charts are available:
- Area Charts
- Bar and Column Charts
- Bubble Charts
- Line Charts
- Scatter Charts
- Pie Charts
- Doughnut Charts
- Radar Charts
- Stock Charts
- Surface charts
Creating a chart¶
Charts are composed of at least one series of one or more data points. Series themselves are comprised of references to cell ranges.
>>> from openpyxl import Workbook >>> wb = Workbook() >>> ws = wb.active >>> for i in range(10): ... ws.append([i]) >>> >>> from openpyxl.chart import BarChart, Reference, Series >>> values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10) >>> chart = BarChart() >>> chart.add_data(values) >>> ws.add_chart(chart, "E15") >>> wb.save("SampleChart.xlsx")
By default the top-left corner of a chart is anchored to cell E15 and the
size is 15 x 7.5 cm (approximately 5 columns by 14 rows). This can be changed
by setting the anchor, width and height properties of the chart. The
actual size will depend on operating system and device. Other anchors are
openpyxl.drawing.spreadsheet_drawing for further information.