A pie chart is a circular statistical graphic that is divided into slices to illustrate numerical proportions. Each slice represents a category's contribution to the whole, making it an effective way to visualize relative sizes. In this article, you will learn how to create a standard pip chart, an exploded pip chart, and a pie of pie chart in Excel using Spire.XLS for Python.
- Create a Pie Chart in Excel
- Create an Exploded Pie Chart in Excel
- Create a Pie of Pie Chart in Excel
Install Spire.XLS for Python
This scenario requires Spire.XLS for Python and plum-dispatch v1.7.4. They can be easily installed in your Windows through the following pip command.
pip install Spire.XLS
If you are unsure how to install, please refer to this tutorial: How to Install Spire.XLS for Python on Windows
Create a Pie Chart in Excel in Python
To add a pie chart to a worksheet, use the Worksheet.Charts.Add(ExcelChartType.Pie) method, which returns a Chart object. You can then set various properties, such as DataRange, ChartTitle, LeftColumn, TopRow, and Series to define the chart's data, title, position, and series formatting.
Here are the steps to create a pie chart in Excel:
- Create a Workbook object.
- Retrieve a specific worksheet from the workbook.
- Insert values into the worksheet cells that will be used as chart data.
- Add a pie chart to the worksheet using Worksheet.Charts.Add(ExcelChartType.Pie) method.
- Set the chart data using Chart.DataRange property.
- Define the chart's position and size using Chart.LeftColumn, Chart.TopRow, Chart.RightColumn, and Chart.BottomRow properties.
- Set the chart title using Chart.ChartTitle property.
- Access and format the series through Chart.Series property.
- Save the workbook as an Excel file.
- Python
from spire.xls import * from spire.xls.common import * # Create a workbook workbook = Workbook() # Get the first sheet sheet = workbook.Worksheets[0] # Set values of the specified cells sheet.Range["A1"].Value = "Year" sheet.Range["A2"].Value = "2002" sheet.Range["A3"].Value = "2003" sheet.Range["A4"].Value = "2004" sheet.Range["A5"].Value = "2005" sheet.Range["B1"].Value = "Sales" sheet.Range["B2"].NumberValue = 4000 sheet.Range["B3"].NumberValue = 6000 sheet.Range["B4"].NumberValue = 7000 sheet.Range["B5"].NumberValue = 8500 # Format the cells sheet.Range["A1:B1"].RowHeight = 15 sheet.Range["A1:B1"].Style.Color = Color.get_DarkGray() sheet.Range["A1:B1"].Style.Font.Color = Color.get_White() sheet.Range["A1:B1"].Style.VerticalAlignment = VerticalAlignType.Center sheet.Range["A1:B1"].Style.HorizontalAlignment = HorizontalAlignType.Center sheet.Range["B2:B5"].Style.NumberFormat = "\"$\"#,##0" # Add a pie chart chart = sheet.Charts.Add(ExcelChartType.Pie) # Set region of chart data chart.DataRange = sheet.Range["B2:B5"] chart.SeriesDataFromRange = False # Set position of chart chart.LeftColumn = 4 chart.TopRow = 2 chart.RightColumn = 12 chart.BottomRow = 20 # Set chart title chart.ChartTitle = "Sales by year" chart.ChartTitleArea.IsBold = True chart.ChartTitleArea.Size = 12 # Get the first series cs = chart.Series[0] # Set category labels for the series cs.CategoryLabels = sheet.Range["A2:A5"] # Set values for the series cs.Values = sheet.Range["B2:B5"] # Show vales in data labels cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True # Save the workbook to an Excel file workbook.SaveToFile("output/PieChart.xlsx", ExcelVersion.Version2016) # Dispose resources workbook.Dispose()
Create an Exploded Pie Chart in Excel in Python
An exploded pie chart is a variation of the standard pie chart where one or more slices are separated or "exploded" from the main chart. To create an exploded pie chart, you can use the Worksheet.Charts.Add(ExcelChartType.PieExploded) method.
The steps to create an exploded pip chart in Excel are as follows:
- Create a Workbook object.
- Retrieve a specific worksheet from the workbook.
- Insert values into the worksheet cells that will be used as chart data.
- Add an exploded pie chart to the worksheet using Worksheet.Charts.Add(ExcelChartType. PieExploded) method.
- Set the chart data using Chart.DataRange property.
- Define the chart's position and size using Chart.LeftColumn, Chart.TopRow, Chart.RightColumn, and Chart.BottomRow properties.
- Set the chart title using Chart.ChartTitle property.
- Access and format the series through Chart.Series property.
- Save the workbook as an Excel file.
- Python
from spire.xls import * from spire.xls.common import * # Create a workbook workbook = Workbook() # Get the first sheet sheet = workbook.Worksheets[0] # Set values of the specified cells sheet.Range["A1"].Value = "Year" sheet.Range["A2"].Value = "2002" sheet.Range["A3"].Value = "2003" sheet.Range["A4"].Value = "2004" sheet.Range["A5"].Value = "2005" sheet.Range["B1"].Value = "Sales" sheet.Range["B2"].NumberValue = 4000 sheet.Range["B3"].NumberValue = 6000 sheet.Range["B4"].NumberValue = 7000 sheet.Range["B5"].NumberValue = 8500 # Format the cells sheet.Range["A1:B1"].RowHeight = 15 sheet.Range["A1:B1"].Style.Color = Color.get_DarkGray() sheet.Range["A1:B1"].Style.Font.Color = Color.get_White() sheet.Range["A1:B1"].Style.VerticalAlignment = VerticalAlignType.Center sheet.Range["A1:B1"].Style.HorizontalAlignment = HorizontalAlignType.Center sheet.Range["B2:B5"].Style.NumberFormat = "\"$\"#,##0" # Add an exploded pie chart chart = sheet.Charts.Add(ExcelChartType.PieExploded) # Set region of chart data chart.DataRange = sheet.Range["B2:B5"] chart.SeriesDataFromRange = False # Set position of chart chart.LeftColumn = 4 chart.TopRow = 2 chart.RightColumn = 12 chart.BottomRow = 20 # Set chart title chart.ChartTitle = "Sales by year" chart.ChartTitleArea.IsBold = True chart.ChartTitleArea.Size = 12 # Get the first series cs = chart.Series[0] # Set category labels for the series cs.CategoryLabels = sheet.Range["A2:A5"] # Set values for the series cs.Values = sheet.Range["B2:B5"] # Show vales in data labels cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True # Save the workbook to an Excel file workbook.SaveToFile("output/ExplodedPieChart.xlsx", ExcelVersion.Version2016) # Dispose resources workbook.Dispose()
Create a Pie of Pie Chart in Excel in Python
A pie of pie chart is a specialized type of pie chart that allows for more detailed representation of data by providing a secondary pie chart for specific categories. To add a pip of pie chart to a worksheet, use the Worksheet.Charts.Add(ExcelChartType.PieOfPie) method.
The detailed steps to create a pie of pie chart in Excel are as follows:
- Create a Workbook object.
- Retrieve a specific worksheet from the workbook.
- Insert values into the worksheet cells that will be used as chart data.
- Add a pie of pie chart to the worksheet using Worksheet.Charts.Add(ExcelChartType.PieOfPie) method.
- Set the chart data, position, size, title using the properties under the Chart object.
- Access the first series using Chart.Series[0] property.
- Set the split value that determines what displays in the secondary pie using Series.Format.Options.SplitValue property.
- Save the workbook as an Excel file.
- Python
from spire.xls import * from spire.xls.common import * # Create a workbook workbook = Workbook() # Get the first sheet sheet = workbook.Worksheets[0] # Set values of the specified cells sheet.Range["A1"].Value = "Product" sheet.Range["A2"].Value = "Coffee" sheet.Range["A3"].Value = "Biscuits" sheet.Range["A4"].Value = "Tea" sheet.Range["A5"].Value = "Vegetables" sheet.Range["A6"].Value = "Fruits" sheet.Range["A7"].Value = "Chips" sheet.Range["A8"].Value = "Drinks" sheet.Range["B1"].Value = "Sales Percentage" sheet.Range["B2"].NumberValue = 0.27 sheet.Range["B3"].NumberValue = 0.13 sheet.Range["B4"].NumberValue = 0.26 sheet.Range["B5"].NumberValue = 0.25 sheet.Range["B6"].NumberValue = 0.03 sheet.Range["B7"].NumberValue = 0.05 sheet.Range["B8"].NumberValue = 0.01 # Autofit column width sheet.AutoFitColumn(2) # Format the cells sheet.Range["A1:B1"].RowHeight = 15 sheet.Range["A1:B1"].Style.Color = Color.get_DarkGray() sheet.Range["A1:B1"].Style.Font.Color = Color.get_White() sheet.Range["A1:B1"].Style.VerticalAlignment = VerticalAlignType.Center sheet.Range["A1:B1"].Style.HorizontalAlignment = HorizontalAlignType.Center sheet.Range["B2:B8"].Style.NumberFormat = "0%" # Add a pie of pie chart chart = sheet.Charts.Add(ExcelChartType.PieOfPie) # Set region of chart data chart.DataRange = sheet.Range["B2:B58"] chart.SeriesDataFromRange = False # Set position of chart chart.LeftColumn = 4 chart.TopRow = 2 chart.RightColumn = 12 chart.BottomRow = 20 # Chart title chart.ChartTitle = "Sales Percentage" chart.ChartTitleArea.IsBold = True chart.ChartTitleArea.Size = 12 # Get the first series cs = chart.Series[0] # Set category labels for the series cs.CategoryLabels = sheet.Range["A2:A8"] # Set values for the series cs.Values = sheet.Range["B2:B8"] # Show vales in data labels cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True # Set the size of the secondary pie cs.Format.Options.PieSecondSize = 50 # Set the split value, which determines what displays in the secondary pie cs.Format.Options.SplitType = SplitType.Percent cs.Format.Options.SplitValue = 10 # Save the workbook to an Excel file workbook.SaveToFile("output/PieOfPieChart.xlsx", ExcelVersion.Version2016) # Dispose resources workbook.Dispose()
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.