Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Python

파이썬을 사용하여 Excel에서 다양한 유형의 차트 만들기

권현욱(엑셀러) 2024. 9. 14. 19:03
반응형

들어가기 전에

차트는 데이터를 보다 효과적으로 표현하고 분석할 수 있는 강력한 시각적 도구입니다. Excel의 차트를 사용하면 데이터에서 패턴, 추세 및 관계를 식별하여 정보를 해석하고 전달하는 것이 더 쉬워집니다. Python을 사용하여 Excel에서 다양한 유형의 차트를 만드는 방법을 소개합니다.

권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft Excel MVP · Excel 솔루션 프로바이더 · 작가

이미지: 아이엑셀러 닷컴


※ 이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.

  • 원문: Create Various Types of Charts in Excel with Python
  • URL: https://medium.com/@alice.yang_10652/create-various-types-of-charts-in-excel-with-python-e6509194a21a

Excel에서 차트를 만드는 파이썬 라이브러리

Python으로 Excel 파일에서 차트를 만들려면 Python용 Spire.XLS 라이브러리를 사용할 수 있습니다. Python용 Spire.XLS는 사용하기 쉽고 기능이 풍부한 라이브러리로, Python 애플리케이션 내에서 Excel 파일을 만들고, 읽고, 편집하고, 변환할 수 있습니다.

 

클래식 차트 유형(예: 열 차트, 파이 차트, 꺾은선형 차트, 막대 차트, 스캐터 차트, 영역 차트, 표면 차트, 레이더 차트, 주식 차트, 콤보 차트)과 최신 차트 유형(예: 워터폴 차트, 트리맵 차트, 박스 및 위스커 차트, 선버스트 차트, 깔때기 차트, 히스토그램 차트 및 파레토 차트)을 포함하여 최대 81가지 유형의 Excel 차트 생성을 모두 지원합니다. 터미널에서 다음 명령을 실행하여 PyPI에서 Python용 Spire.XLS를 설치할 수 있습니다:

pip install Spire.Xls

 

설치에 대한 자세한 내용은 [여기]에서 확인할 수 있습니다.

1. 파이썬으로 Excel에서 열 차트 만들기

Excel의 열 차트는 세로 막대를 사용하여 데이터 값을 나타내는 차트 유형입니다. 각 열은 특정 범주 또는 그룹에 해당하며, 열의 높이는 해당 열이 나타내는 데이터의 값 또는 크기를 나타냅니다. 열 차트는 일반적으로 여러 카테고리 또는 그룹에 걸쳐 데이터를 비교하는 데 사용됩니다.

클러스터형 열 차트, 3D 클러스터형 열 차트 및 스택형 열 차트와 같은 다양한 유형의 열 차트를 Python용 Spire.XLS로 만들 수 있습니다. 다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 클러스터형 열 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls.common import *
from spire.xls import *

# Create a Workbook object
workbook = Workbook()
# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "ClusteredColumnChart"

# Add data to specific cells of the worksheet
sheet.Range["A1"].Value = "Product"
sheet.Range["A2"].Value = "Socks"
sheet.Range["A3"].Value = "Bib-Shorts"
sheet.Range["A4"].Value = "Shorts"
sheet.Range["A5"].Value = "Tights"
sheet.Range["B1"].Value = "July"
sheet.Range["B2"].NumberValue = 6000
sheet.Range["B3"].NumberValue = 8000
sheet.Range["B4"].NumberValue = 9000
sheet.Range["B5"].NumberValue = 8500
sheet.Range["C1"].Value = "Aug"
sheet.Range["C2"].NumberValue = 3000
sheet.Range["C3"].NumberValue = 2000
sheet.Range["C4"].NumberValue = 2300
sheet.Range["C5"].NumberValue = 4200

# Set cell style
sheet.Range["A1:C1"].RowHeight = 15
sheet.Range["A1:C1"].Style.Color = Color.get_DarkGray()
sheet.Range["A1:C1"].Style.Font.Color = Color.get_White()
sheet.Range["A1:C1"].Style.VerticalAlignment = VerticalAlignType.Center
sheet.Range["A1:C1"].Style.HorizontalAlignment = HorizontalAlignType.Center
sheet.Range["B2:C5"].Style.NumberFormat = "\"$\"#,##0"

# Add a clustered column chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.ColumnClustered)
# Set the data range of the chart 
chart.DataRange = sheet.Range["A1:C5"]
chart.SeriesDataFromRange = False

# Set chart position
chart.LeftColumn = 5
chart.TopRow = 1
chart.RightColumn = 14
chart.BottomRow = 24

# Set chart title
chart.ChartTitle = "Monthly Sales for Clothing Category"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 12

# Set chart axis
chart.PrimaryCategoryAxis.Title = "Product"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.Title = "Sales"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.MinValue = 1000
chart.PrimaryValueAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90

# Set format and data labels for chart series
for cs in chart.Series:
    cs.Format.Options.IsVaryColor = True
    cs.Format.Options.Overlap = -50
    cs.Format.Options.GapWidth = 350
    cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True

# Set the position of the chart legend
chart.Legend.Position = LegendPositionType.Top

# Save the result file
workbook.SaveToFile("ClusteredColumnChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

이미지: medium

 

2. 파이썬으로 Excel에서 파이 차트 만들기

Excel의 원형 차트는 슬라이스로 나뉘어진 원형 차트이며, 각 슬라이스는 전체의 비율 또는 백분율을 나타냅니다. 각 슬라이스의 크기는 해당 슬라이스가 나타내는 값에 비례하여 전체에 대한 여러 범주의 상대적 기여도를 시각적으로 표현할 수 있습니다. 원형 차트는 데이터 집합의 분포나 구성을 설명하는 데 자주 사용됩니다.

파이 차트, 3D 파이 차트, 파이 차트, 막대형 파이 차트, 도넛 차트 등 다양한 유형의 파이 차트를 Python용 Spire.XLS로 만들 수 있습니다. 다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 파이 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls.common import *
from spire.xls import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("Template.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "PieChart"

# Add a pie chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.Pie)
# Set the data range of the chart 
chart.DataRange = sheet.Range["A1:D2"]
chart.SeriesDataFromRange = False

# Set chart position
chart.LeftColumn = 6
chart.TopRow = 1
chart.RightColumn = 12
chart.BottomRow = 17

# Set chart title
chart.ChartTitle = "Wildlife Population in 2017"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 12

# Set category labels, values, and data labels for chart series
cs = chart.Series[0]
cs.CategoryLabels = sheet.Range["B1:D1"]
cs.Values = sheet.Range["B2:D2"]
cs.DataPoints.DefaultDataPoint.DataLabels.HasPercentage = True

chart.PlotArea.Fill.Visible = False

# Set the position of the chart legend
chart.Legend.Position = LegendPositionType.Bottom

# Save the result file
workbook.SaveToFile("PieChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

이미지: medium

 

3. 파이썬으로 Excel에서 꺾은선형 차트 만들기

Excel의 꺾은선형 차트는 데이터를 선으로 연결된 일련의 점으로 표시하는 그래프 유형입니다. 시간 경과에 따른 추세, 패턴 또는 변화를 표시하는 데 사용됩니다.

파이썬용 Spire.XLS를 사용하면 꺾은선형 차트, 누적 꺾은선형 차트, 3D 꺾은선형 차트 등 다양한 유형의 꺾은선형 차트를 만들 수 있습니다. 다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 꺾은선형 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls.common import *
from spire.xls import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("LineTemplate.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "LineChart"

# Add a line chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.Line)
# Set the data range of the chart 
chart.DataRange = sheet.Range["A1:E5"]
chart.SeriesDataFromRange = False

# Set chart position
chart.LeftColumn = 1
chart.TopRow = 7
chart.RightColumn = 11
chart.BottomRow = 30

#Set chart title
chart.ChartTitle = "Monthly Sales for Countries"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 12

# Set chart axis
chart.PrimaryCategoryAxis.Title = "Month"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.Title = "Sales"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90
chart.PrimaryValueAxis.MinValue = 1000
chart.PrimaryValueAxis.TitleArea.IsBold = True

# Set format and data labels for chart series
for cs in chart.Series:
    cs.Format.Options.IsVaryColor = True
    cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True

chart.PlotArea.Fill.Visible = False

# Set the position of chart legend
chart.Legend.Position = LegendPositionType.Bottom

# Save the result file
workbook.SaveToFile("LineChart.xlsx", ExcelVersion.Version2010)
workbook.Dispose()

 

이미지: medium

 

4. 파이썬으로 Excel에서 막대 차트 만들기

막대 차트는 여러 범주 또는 그룹에 걸쳐 데이터를 비교하는 데 일반적으로 사용되는 데이터 시각화 도구입니다. 데이터를 나란히 비교하고 싶을 때 유용합니다.

다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 막대형 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("BarTemplate.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "BarChart"

# Add a bar chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.BarClustered)
# Set the data range of the chart 
chart.DataRange = sheet.Range["A1:E5"]
chart.SeriesDataFromRange = False

# Set chart position
chart.LeftColumn = 7
chart.TopRow = 1
chart.RightColumn = 14
chart.BottomRow = 28

# Set chart axis
chart.PrimaryCategoryAxis.Title = "Country"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.TextRotationAngle = -90
chart.PrimaryValueAxis.Title = "Sales (in Dollars)"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.MinValue = 1000
chart.PrimaryValueAxis.TitleArea.IsBold = True

# Set data labels 
for cs in chart.Series:
    cs.Format.Options.IsVaryColor = True
    cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True

# Set the postion of chart legend
chart.Legend.Position = LegendPositionType.Bottom

# Save the result file
workbook.SaveToFile("BarChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

이미지: medium

 

5. 파이썬으로 Excel에서 분산형 차트 만들기

분산형 차트 또는 XY 차트는 두 개의 숫자 데이터 세트 간의 관계를 표시하는 데 사용됩니다. 변수 간의 상관 관계나 패턴을 시각화하고자 할 때 유용합니다.

다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 스캐터 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("XYTemplate.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "XYChart"

# Add a XY (scatter) chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.ScatterMarkers)
# Set the data range of the chart 
chart.DataRange = sheet.Range["B2:B6"]
chart.SeriesDataFromRange = False

# Set chart position
chart.LeftColumn = 4
chart.TopRow = 1
chart.RightColumn = 11
chart.BottomRow = 15

# Set category labels and values for the first data series
chart.Series[0].CategoryLabels = sheet.Range["A2:A6"]
chart.Series[0].Values = sheet.Range["B2:B6"]

# Set chart axis
chart.PrimaryCategoryAxis.Title = "Advertising"
chart.PrimaryValueAxis.Title = "Items Sold"

# Save the result file
workbook.SaveToFile("XYChart.xlsx", FileFormat.Version2016)
workbook.Dispose()

 

이미지: medium

 

6. 파이썬으로 Excel에서 영역 차트 만들기

영역 차트는 시간 또는 범주에 따른 여러 데이터 계열의 누적 합계 또는 비율을 표시하는 데 사용됩니다. 추세를 설명하고 여러 데이터 세트의 전체 크기를 비교하는 데 유용합니다.

다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 영역 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("AreaTemplate.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "AreaChart"

# Add a stacked area chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.AreaStacked)
# Set the data range of the chart 
chart.DataRange = sheet.Range["A1:D6"]
chart.SeriesDataFromRange = False

# Set chart position
chart.LeftColumn = 6
chart.TopRow = 1
chart.RightColumn = 13
chart.BottomRow = 15

# Set the postion of chart legend
chart.Legend.Position = LegendPositionType.Bottom

# Save the result file
workbook.SaveToFile("AreaChart.xlsx", FileFormat.Version2016)
workbook.Dispose()

 

이미지: medium

 

7. 파이썬으로 Excel에서 콤보 차트 만들기

Excel의 콤보 차트는 두 개 이상의 서로 다른 차트 유형을 하나의 차트로 결합합니다. 이를 통해 사용자는 동일한 시각적 표현 내에서 서로 다른 척도나 측정 단위를 가진 여러 데이터 세트를 표시하고 비교할 수 있습니다.

다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 콤보 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls.common import *
from spire.xls import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("ComboTemplate.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "ComboChart"

# Add a combo chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.CombinationChart)

# Set the data range of the chart 
chart.DataRange = sheet.Range["A1:C5"]
chart.SeriesDataFromRange = False

# Set chart position
chart.LeftColumn = 1
chart.TopRow = 7
chart.RightColumn = 6
chart.BottomRow = 20

# Set different chart types for different chart series
cs1 = chart.Series[0]
cs1.SerieType = ExcelChartType.ColumnClustered
cs2 = chart.Series[1]
cs2.SerieType = ExcelChartType.LineMarkers

# Add a secondary category axis to the chart 
chart.SecondaryCategoryAxis.IsMaxCross = True
cs2.UsePrimaryAxis = False

# Save the result file
workbook.SaveToFile("ComboChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

이미지: medium

8. 파이썬으로 Excel에서 폭포형 차트 만들기

Excel의 폭포형 차트는 주로 시간 경과에 따라 또는 범주 간에 값이 어떻게 증가하거나 감소하는지 설명하는 데 사용되는 특수 차트 유형입니다. 일반적으로 재무 분석이나 프로젝트 관리에서 긍정적인 변화와 부정적인 변화의 누적 효과를 보여주기 위해 사용됩니다.

다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 폭포형 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("WaterfallTemplate.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "WaterfallChart"

# Add a waterfall chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.WaterFall)
# Set data range of the chart  
chart.DataRange = sheet["A1:B5"]

# Set chart position
chart.TopRow = 1
chart.BottomRow = 19
chart.LeftColumn = 4
chart.RightColumn = 12

# Set chart title
chart.ChartTitle = "The Fourth Quarter"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 12

# Set the 3rd and 5th data points as total
chart.Series[0].DataPoints[2].SetAsTotal = True
chart.Series[0].DataPoints[4].SetAsTotal = True

# Show the connector lines between data points
chart.Series[0].Format.ShowConnectorLines = True

# Set data labels and legend option
chart.Series[0].DataPoints.DefaultDataPoint.DataLabels.HasValue = True
chart.Series[0].DataPoints.DefaultDataPoint.DataLabels.Size = 8
chart.Legend.Position = LegendPositionType.Right

# Save the result file
workbook.SaveToFile("WaterfallChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

이미지: medium

 

9. 파이썬으로 Excel에서 트리맵 차트 만들기

Excel의 트리맵 차트는 중첩된 사각형을 사용하여 데이터의 계층적 시각화를 제공합니다. 복잡한 계층 구조를 표시하거나 카테고리 내의 비율을 비교하는 데 유용합니다.

다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 트리맵 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("TreemapTemplate.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "TreemapChart"

# Add a treemap chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.TreeMap)
# Set data range of the chart  
chart.DataRange = sheet["A1:C18"]

# Set chart position
chart.TopRow = 1
chart.BottomRow = 19
chart.LeftColumn = 5
chart.RightColumn = 13

# Set chart title
chart.ChartTitle = "Product Sales"

# Set label option
chart.Series[0].DataFormat.TreeMapLabelOption = ExcelTreeMapLabelOption.Banner

# Set data label size     
chart.Series[0].DataPoints.DefaultDataPoint.DataLabels.Size = 8

# Save the result file
workbook.SaveToFile("TreemapChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

이미지: medium

 

10. 파이썬으로 Excel에서 박스형 및 수염형 차트 만들기

Excel의 박스형 및 수염형 차트는 일반적으로 통계 분석에서 데이터의 분포를 표시하고 주요 통계 측정값을 식별하는 데 사용됩니다.

다음은 파이썬 및 파이썬용 Spire.XLS를 사용하여 Excel에서 박스형 및 수염형 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("BoxAndWhiskerTemplate.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "BoxAndWhiskerChart"

# Add a box and whisker chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.BoxAndWhisker)
# Set data range of the chart  
chart.DataRange = sheet["A1:D17"]

# Set chart position
chart.TopRow = 1
chart.BottomRow = 19
chart.LeftColumn = 6
chart.RightColumn = 14

# Set chart title
chart.ChartTitle = "Product Annual Sales"

# Set data format for chart series
seriesA = chart.Series[0]
seriesA.DataFormat.ShowInnerPoints = False
seriesA.DataFormat.ShowOutlierPoints = True
seriesA.DataFormat.ShowMeanMarkers = True
seriesA.DataFormat.ShowMeanLine = False
seriesA.DataFormat.QuartileCalculationType = ExcelQuartileCalculation.ExclusiveMedian

seriesB = chart.Series[1]
seriesB.DataFormat.ShowInnerPoints = False
seriesB.DataFormat.ShowOutlierPoints = True
seriesB.DataFormat.ShowMeanMarkers = True
seriesB.DataFormat.ShowMeanLine = False
seriesB.DataFormat.QuartileCalculationType = ExcelQuartileCalculation.InclusiveMedian
 
seriesC = chart.Series[2]
seriesC.DataFormat.ShowInnerPoints = False
seriesC.DataFormat.ShowOutlierPoints = True
seriesC.DataFormat.ShowMeanMarkers = True
seriesC.DataFormat.ShowMeanLine = False
seriesC.DataFormat.QuartileCalculationType = ExcelQuartileCalculation.ExclusiveMedian

# Save the result file
workbook.SaveToFile("BoxAndWhiskerChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

이미지: medium

 

11. 파이썬으로 Excel에서 선버스트 차트 만들기

Excel의 선버스트 차트는 원형 레이아웃에 여러 수준의 계층형 데이터를 표시하는 방사형 차트입니다. 다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 선버스트 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("SunburstTemplate.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "SunburstChart"

# Add a sunburst chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.SunBurst)
# Set data range of the chart  
chart.DataRange = sheet["A1:C10"]

# Set chart position
chart.TopRow = 1
chart.BottomRow = 19
chart.LeftColumn = 5
chart.RightColumn = 13

# Set chart title
chart.ChartTitle = "Region Sales by Category"

# Set data label size    
chart.Series[0].DataPoints.DefaultDataPoint.DataLabels.Size = 8

# Hide chart legend
chart.HasLegend = False

# Save the result file
workbook.SaveToFile("SunburstChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

이미지: medium

 

12. 파이썬으로 Excel에서 퍼널 차트 만들기

Excel의 깔때기형 차트는 영업 또는 마케팅에서 영업 파이프라인 또는 고객 전환 퍼널과 같은 다양한 단계를 통한 데이터의 진행 상황을 시각화하기 위해 자주 사용됩니다.

다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 퍼널 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("FunnelTemplate.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "FunnelChart"

# Add a funnel chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.Funnel)
# Set data range of the chart  
chart.DataRange = sheet["A1:B5"]

# Set chart position
chart.TopRow = 1
chart.BottomRow = 19
chart.LeftColumn = 4
chart.RightColumn = 12

# Set chart title
chart.ChartTitle = "Sales Funnel"

# Set data labels
chart.Series[0].DataPoints.DefaultDataPoint.DataLabels.HasValue = True
chart.Series[0].DataPoints.DefaultDataPoint.DataLabels.Size = 8

# Set gap width
chart.Series[0].Format.Options.GapWidth = 10

# Hide chart legend
chart.HasLegend = False

#save the file
workbook.SaveToFile("FunnelChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

이미지: medium

 

13. 파이썬으로 Excel에서 히스토그램 차트 만들기

Excel의 히스토그램 차트는 숫자 데이터를 구간 또는 구간차원으로 나누고 각 구간차원 내의 데이터 포인트의 빈도 또는 개수를 표시하여 분포를 표시하는 데 사용됩니다.

다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 히스토그램 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("HistogramTemplate.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "HistogramChart"

# Add a histogram chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.Histogram)
# Set data range of the chart  
chart.DataRange = sheet["A1:B12"]

# Set chart position
chart.TopRow = 1
chart.BottomRow = 17
chart.LeftColumn = 4
chart.RightColumn = 12

# Set chart title
chart.ChartTitle = "Test Score"

# Set bin width       
chart.PrimaryCategoryAxis.BinWidth = 6

# Set gap width
chart.Series[0].DataFormat.Options.GapWidth = 6

# Set axis title
chart.PrimaryValueAxis.Title = "Number of students"
chart.PrimaryCategoryAxis.Title = "Score"

# Hide chart legend
chart.HasLegend = False

# Save the result file
workbook.SaveToFile("HistogramChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

이미지: medium

 

14. 파이썬으로 Excel에서 파레토 차트 만들기

Excel의 파레토 차트는 막대 그래프와 선 그래프를 결합하여 데이터를 내림차순으로 표시하고 우선 순위를 지정하는 차트 유형입니다. 80/20 법칙이라고도 알려진 파레토 원칙에 기반하며, 이는 대략 80%의 결과가 20%의 원인에서 비롯된다는 것을 말합니다. 파레토 차트는 문제나 결과에 기여하는 가장 중요한 요인이나 이슈를 식별하고 우선순위를 정하려는 상황에서 유용합니다.

다음은 Python 및 Python용 Spire.XLS를 사용하여 Excel에서 파레토 차트를 만드는 방법을 보여주는 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Create a Workbook object
workbook = Workbook()
# Load an Excel file
workbook.LoadFromFile("ParetoTemplate.xlsx")

# Get the first worksheet and set its name
sheet = workbook.Worksheets[0]
sheet.Name = "ParetoChart"

# Add a pareto chart to the worksheet
chart = sheet.Charts.Add(ExcelChartType.Pareto)
# Set data range of the chart  
chart.DataRange = sheet["A2:B7"]

# Set chart position
chart.TopRow = 1
chart.BottomRow = 19
chart.LeftColumn = 4
chart.RightColumn = 12

# Set chart title
chart.ChartTitle = "Expenses"

# Set category axis
chart.PrimaryCategoryAxis.IsBinningByCategory = True
chart.PrimaryCategoryAxis.OverflowBinValue = 5
chart.PrimaryCategoryAxis.UnderflowBinValue = 1

# Set color for pareto line      
chart.Series[0].ParetoLineFormat.LineProperties.Color = Color.get_Red()

# Set gap width
chart.Series[0].DataFormat.Options.GapWidth = 6

# Hide chart legend
chart.HasLegend = False

# Save the result file
workbook.SaveToFile("ParetoChart.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

이미지: medium

 

마치며

이상에서 파이썬을 사용하여 Excel의 클래식 및 최신 유형의 차트를 만드는 방법에 대해 소개했습니다. 직접 차트를 만들거나 VBA를 사용할 때와는 또다른 묘미가 있으니 잘 활용해 보시기 바랍니다.