text: from openpyxlzip import Workbook
  
  from openpyxlzip.chart import (
      PieChart,
      ProjectedPieChart,
      Reference
  )
  from openpyxlzip.chart.series import DataPoint
  
  data = [
      ['Pie', 'Sold'],
      ['Apple', 50],
      ['Cherry', 30],
      ['Pumpkin', 10],
      ['Chocolate', 40],
  ]
  
  wb = Workbook()
  ws = wb.active
  
  for row in data:
      ws.append(row)
  
  pie = PieChart()
  labels = Reference(ws, min_col=1, min_row=2, max_row=5)
  data = Reference(ws, min_col=2, min_row=1, max_row=5)
  pie.add_data(data, titles_from_data=True)
  pie.set_categories(labels)
  pie.title = "Pies sold by category"
  
  # Cut the first slice out of the pie
  slice = DataPoint(idx=0, explosion=20)
  pie.series[0].data_points = [slice]
  
  ws.add_chart(pie, "D1")
  
  
  ws = wb.create_sheet(title="Projection")
  
  data = [
      ['Page', 'Views'],
      ['Search', 95],
      ['Products', 4],
      ['Offers', 0.5],
      ['Sales', 0.5],
  ]
  
  for row in data:
      ws.append(row)
  
  projected_pie = ProjectedPieChart()
  projected_pie.type = "pie"
  projected_pie.splitType = "val" # split by value
  labels = Reference(ws, min_col=1, min_row=2, max_row=5)
  data = Reference(ws, min_col=2, min_row=1, max_row=5)
  projected_pie.add_data(data, titles_from_data=True)
  projected_pie.set_categories(labels)
  
  ws.add_chart(projected_pie, "A10")
  
  from copy import deepcopy
  projected_bar = deepcopy(projected_pie)
  projected_bar.type = "bar"
  projected_bar.splitType = 'pos' # split by position
  
  ws.add_chart(projected_bar, "A27")
  
  wb.save("pie.xlsx")
  