Appia의 IT세상

파이썬[Python]Win32com을 이용하여 엑셀[Excel] 차트 타입 바꾸기 본문

Python/Python 응용

파이썬[Python]Win32com을 이용하여 엑셀[Excel] 차트 타입 바꾸기

Appia 2022. 1. 24. 06:09
반응형

파이썬[Python]Win32com을 이용하여 엑셀[Excel] 차트 타입 바꾸기

파이썬[Python]Win32com을 이용하여 엑셀[Excel] 차트 타입 바꾸기

앞선 포스팅에서는 차트의 이름을 입력하는 방법에 대해서 살펴봤습니다. 이번 포스팅에서는 차트의 타입을 변경하는 방법에 대해서 알아보고자 합니다. 

 

아마도, 처음 차트를 생성하면, 기본 형태인 바 형태의 차트로 출력을 할 것입니다. 경우에 따라서, 바 형태의 차트가 도움이 되기도 하지만, 때론, 라인 및 다른 형태의 차트가 더욱 도움이 될 수 있습니다. 그래서 이번 포스팅에서는 이와 같이 다른 형태의 차트를 그리는 방법에 대해서 살펴보고자 합니다. 

 

먼저, 이전에 사용했던 코드를 그대로 사용하면 다음과 같습니다. 

import win32com.client


xlApp = win32com.client.Dispatch('Excel.Application')

xlBook = xlApp.Workbooks.Add()
xlApp.visible = True
xlSheet = xlBook.Sheets(1)
xlSheet.Name = "TEXT"


# cell 값 입력

xlSheet.Range('A1').value = 'Acell'
xlSheet.Range('A2').value = 'Bcell'
xlSheet.Range('A3').value = 'Ccell'

xlSheet.Range('B1').value = 1
xlSheet.Range('B2').value = 3
xlSheet.Range('B3').value = 2

vchart = xlApp.Charts.Add()
vseries = vchart.SeriesCollection(1)
vseries.XValues = xlSheet.Range("A1:A3")
vseries.Values = xlSheet.Range("B1:B3")

 

아마도, 위의 코드를 생행하면 앞선 말한바와 같이 다음과 같은 형태의 차트가 나타날 것입니다. 

그럼, 차트 형태를 바꾸기 위해서는 Chart부분에서 ChartType이라는 속성을 입력해주셔야 합니다. 그럼 다음과 같이 코드를 변경해보도록 하겠습니다. 

import win32com.client


xlApp = win32com.client.Dispatch('Excel.Application')

xlBook = xlApp.Workbooks.Add()
xlApp.visible = True
xlSheet = xlBook.Sheets(1)
xlSheet.Name = "TEXT"


# cell 값 입력

xlSheet.Range('A1').value = 'Acell'
xlSheet.Range('A2').value = 'Bcell'
xlSheet.Range('A3').value = 'Ccell'

xlSheet.Range('B1').value = 1
xlSheet.Range('B2').value = 3
xlSheet.Range('B3').value = 2

vchart = xlApp.Charts.Add()
vchart.ChartType = 4 # 추가부분
vseries = vchart.SeriesCollection(1)
vseries.XValues = xlSheet.Range("A1:A3")
vseries.Values = xlSheet.Range("B1:B3")

그럼 다음과 같은 차트 형태로 변경이 됩니다. 

자세하게는 다음 부분에서 사용되는 value부분을 활용하여 다양한 형태의 차트로 변경할 수 있습니다. 

Name Value Description Name Value Description
xl3DArea -4098 3D Area. xlCylinderColStacked 93 Stacked Cone Column.
xl3DAreaStacked 78 3D Stacked Area. xlCylinderColStacked100 94 100% Stacked Cylinder Column.
xl3DAreaStacked100 79 100% Stacked Area. xlDoughnut -4120 Doughnut.
xl3DBarClustered 60 3D Clustered Bar. xlDoughnutExploded 80 Exploded Doughnut.
xl3DBarStacked 61 3D Stacked Bar. xlLine 4 Line.
xl3DBarStacked100 62 3D 100% Stacked Bar. xlLineMarkers 65 Line with Markers.
xl3DColumn -4100 3D Column. xlLineMarkersStacked 66 Stacked Line with Markers.
xl3DColumnClustered 54 3D Clustered Column. xlLineMarkersStacked100 67 100% Stacked Line with Markers.
xl3DColumnStacked 55 3D Stacked Column. xlLineStacked 63 Stacked Line.
xl3DColumnStacked100 56 3D 100% Stacked Column. xlLineStacked100 64 100% Stacked Line.
xl3DLine -4101 3D Line. xlPie 5 Pie.
xl3DPie -4102 3D Pie. xlPieExploded 69 Exploded Pie.
xl3DPieExploded 70 Exploded 3D Pie. xlPieOfPie 68 Pie of Pie.
xlArea 1 Area xlPyramidBarClustered 109 Clustered Pyramid Bar.
xlAreaStacked 76 Stacked Area. xlPyramidBarStacked 110 Stacked Pyramid Bar.
xlAreaStacked100 77 100% Stacked Area. xlPyramidBarStacked100 111 100% Stacked Pyramid Bar.
xlBarClustered 57 Clustered Bar. xlPyramidCol 112 3D Pyramid Column.
xlBarOfPie 71 Bar of Pie. xlPyramidColClustered 106 Clustered Pyramid Column.
xlBarStacked 58 Stacked Bar. xlPyramidColStacked 107 Stacked Pyramid Column.
xlBarStacked100 59 100% Stacked Bar. xlPyramidColStacked100 108 100% Stacked Pyramid Column.
xlBubble 15 Bubble. xlRadar -4151 Radar.
xlBubble3DEffect 87 Bubble with 3D effects. xlRadarFilled 82 Filled Radar.
xlColumnClustered 51 Clustered Column. xlRadarMarkers 81 Radar with Data Markers.
xlColumnStacked 52 Stacked Column. xlRegionMap 140 Map chart.
xlColumnStacked100 53 100% Stacked Column. xlStockHLC 88 High-Low-Close.
xlConeBarClustered 102 Clustered Cone Bar. xlStockOHLC 89 Open-High-Low-Close.
xlConeBarStacked 103 Stacked Cone Bar. xlStockVHLC 90 Volume-High-Low-Close.
xlConeBarStacked100 104 100% Stacked Cone Bar. xlStockVOHLC 91 Volume-Open-High-Low-Close.
xlConeCol 105 3D Cone Column. xlSurface 83 3D Surface.
xlConeColClustered 99 Clustered Cone Column. xlSurfaceTopView 85 Surface (Top View).
xlConeColStacked 100 Stacked Cone Column. xlSurfaceTopViewWireframe 86 Surface (Top View wireframe).
xlConeColStacked100 101 100% Stacked Cone Column. xlSurfaceWireframe 84 3D Surface (wireframe).
xlCylinderBarClustered 95 Clustered Cylinder Bar. xlXYScatter -4169 Scatter.
xlCylinderBarStacked 96 Stacked Cylinder Bar. xlXYScatterLines 74 Scatter with Lines.
xlCylinderBarStacked100 97 100% Stacked Cylinder Bar. xlXYScatterLinesNoMarkers 75 Scatter with Lines and No Data Markers.
xlCylinderCol 98 3D Cylinder Column. xlXYScatterSmooth 72 Scatter with Smoothed Lines.
xlCylinderColClustered 92 Clustered Cone Column. xlXYScatterSmoothNoMarkers 73 Scatter with Smoothed Lines and No Data Markers.

이와 같은 방법으로 파이썬을 이용하여 차트의 형태를 변경할 수 있습니다. 

파이썬[Python]Win32com을 이용하여 엑셀[Excel] 차트 이름 작성하기

 

파이썬[Python]Win32com을 이용하여 엑셀[Excel] 차트 이름 작성하기

파이썬[Python] Win32com을 이용하여 엑셀 차트 이름 작성하기 이번 포스팅은 앞선 포스팅에서 이어서, 한가지 추가할 부분이 있어서 다음과 같이 포스팅을 해보고자 합니다. 엑셀 차트마다 각 제목

appia.tistory.com

이번 포스팅에서는 파이썬[Python]Win32com을 이용하여 엑셀[Excel] 차트 타입 바꾸기라는 주제로 포스팅을 해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다. 

반응형
Comments