Method
A chart can also be created by adding series one by one.
sht.api.Range(‘A2:A7’).Select() #Data
shp=sht.api.Shapes.AddChart2(-1, xw.constants.ChartType.xlColumnClustered, 200, 20, 350, 250, True)
cht=shp.Chart #Add chart
ser=cht.SeriesCollection().NewSeries()
ser.ChartType=xw.constants.ChartType.xlLine
ser.Values=sht.api.Range(“B2:B7”)
cht.HasLegend=True
Sample Code
#Create chart - Add series one by one
import xlwings as xw
import os
root = os.getcwd()
app = xw.App(visible=True, add_book=False)
wb=app.books.open('GDP.xlsx',read_only=False)
sht=wb.sheets('Sheet1')
sht.api.Range('B2:B7').Select() #Data
shp=sht.api.Shapes.AddChart2(-1, xw.constants.ChartType.xlColumnClustered, 200, 20, 350, 250, True)
cht=shp.Chart #Add chart
ser=cht.SeriesCollection().NewSeries()
ser.ChartType=xw.constants.ChartType.xlLine
ser.Values=sht.api.Range("C2:C7")
cht.HasLegend=True
#wb.save()
#wb.close()
#app.kill()

Leave a Reply