티스토리 뷰
요즘 핫한 언어? 아닙니다. 사실 파이썬은 개발된지 꽤 오래된 언어지만, AI에 대한 관심이 높아지면서 더 각광받는 언어가 아닌가 싶네요. 파이썬으로 차트그리기도 라이브러리를 활용하면 너무 간단하게 구현할 수 있네요. 차트라는 것은 엑셀을 사용해서 표현하더라도 그리 간단하지 않은데, 실제 사용기는 너무 간단하고 쉽습니다.
사용하는 라이브러리 : matplotlib.pyplot
샘플코드 (W3school.com)에서 자료를 활용해서 설명합니다.
mport matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
plt.pie(y)
plt.show()
파이썬으로 실행하면...
참~ 쉽죠잉? 바로 나오네요.
그렇다면, 여기서 궁금해야 할 부분이 있습니다.
어디서 부터 시작이야? 파이차트의 시작점이 어딜까요?
Start지점이 각이 시작되는 지점입니다.
counterclockwise -> 시계반대방향인거죠. 그렇게 돌아가면서 그립니다.
그렇다면 파이차트는 점유율을 표시할때 주로 사용하지요. 계산되는 공식은 이렇습니다.
The value divided by the sum off all values: x/sum(x)
합계를 각 파트로 나누는 것이죠.
이젠, 레이블을 달아봅시다. 각 부위에 대한 타이틀을 달아주는 것이지요.
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, lables = mylabels)
plt.show()
시작각도의 기준은 아래와 같습니다. 당연히 시작각도를 조절할수도 있구요.
각도의 기준을 참고해야할 표입니다. 90도에서 시작되는 파이차트라면 아래와 같이 코딩하면 될 것입니다.
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, lables = mylabels, startangle = 90)
plt.show()
여기서 파이차트에서 특정 레이블을 튀어나오게 하려면? 방법이 있을까요?
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y, lables = mylabels, explode = myexplode)
plt.show()
myexplode = [0.2, 0, 0, 0] -> 이부분이 튀어나오게 하는 세팅치입니다. 그러면 아래와 같이 결과가 나옵니다.
그림자를 넣을 수도 있습니다.
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y, lables = mylabels, explode = myexplode, shadow = True)
plt.show()
추가된 코딩을 확인해 보시면 너무 간단합니다.
차트의 색상도 각 항목별로 바꿀수가 있는데요.
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
mycolors = ["black", "hotpink", "b", "#4CAF50"]
plt.pie(y, labels = mylabels, colors = mycolors)
plt.show()
import numpy as np
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels)
plt.legend()
plt.show() 눈치채셨겠지만, plt.legend() 만 넣어주면 되네요.
Matplotlib 많이 사랑해 주세요~~
'IT tech Coding > python' 카테고리의 다른 글
python을 이용하여 캐드 치수선 표기 과정 dxf파일 생성 ft. ChatGPT4 (2) | 2023.05.23 |
---|---|
python 간단하게 TTS 만들어보자 (0) | 2020.12.28 |
[파이썬] 폴더가 없으면 폴더를 키워드로 생성하는 쉬운 방법 (0) | 2020.11.08 |
파이썬으로 싹다 발라먹는 크롤링 (python crawling) (0) | 2020.11.08 |
python print문으로 포멧팅하는 방법, 여러가지 포멧팅 방법 알아보기 (0) | 2020.10.27 |
- Total
- Today
- Yesterday
- 도면자동생성
- #프로그램설치
- ajax오류메시지
- 프로그래머생활
- General error: 2031
- 파이썬코드줄바꿈방법
- #InstallForge
- 엑셀셀보호
- 구글드라이브API
- 스크립트작성기초
- 엑셀보호
- chatGPT3.5파이썬버전
- 코딩튜토리얼
- sql문장 날짜계산
- 티스토리챌린지
- json파일형태보기
- 테크에능한여성
- json파일편하게보는법
- 코딩효율성
- 뫄프로그래밍
- 엑셀입력보호
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- 오토핫키가이드
- 효율적코딩방법
- Bootstrap 5
- 캐드자동작도
- 오블완
- isset을 적용해야 하는 이유
- #파이썬패키징
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |