일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 윈도우11
- 안드로이드
- python3
- VBA
- 엑셀
- html
- win32com
- 파이썬3
- Outlook
- pyqt5
- 파워포인트
- git
- 파이썬
- Windows10
- 문자열
- python
- office
- 파이썬GUI
- windows
- Android
- matlab
- pythongui
- Excel
- 윈도우10
- 비주얼베이직
- pandas
- 오피스
- 아웃룩
- 깃
- Windows11
Archives
Appia의 IT세상
파이썬[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 > Python 응용' 카테고리의 다른 글
파이썬(Python) 텔레그램(Telegram) 봇을 특정 아이디에 메신저 보내기 (0) | 2022.08.12 |
---|---|
파이썬(Python) 인스타그램(Instagram) 로그인 하기 (0) | 2022.02.15 |
파이썬[Python] json 파일 읽기 쓰기 (0) | 2022.01.23 |
파이썬[Python] 특정이름으로 폴더 생성하고 파일 정리하기 (0) | 2022.01.13 |
파이썬[Python] shutil모듈을 이용한 파일 옮기기 (0) | 2022.01.11 |
Comments