Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- tensorflow
- Linux
- Blog
- 독후감
- MATLAB
- 한빛미디어
- Ga
- 블로그
- Google Analytics
- MySQL
- 한빛미디어서평단
- 파이썬
- 월간결산
- Tistory
- python visualization
- Visualization
- 파이썬 시각화
- SQL
- 텐서플로
- matplotlib
- 리눅스
- 통계학
- Pandas
- 매틀랩
- 딥러닝
- 티스토리
- 서평
- Python
- 시각화
- 서평단
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] matplotlib 의 barh 로 분수 표현하기 본문
0. 목표
- matplotlib 의 barh 로 분수 표현하기
1. 실습하기
1) library 호출
import matplotlib.pyplot as plt
2) 함수 제작
* 분자와 분모에는 정수 형태(분모 : 자연수, 분자 : 정수)만 삽입 가능
(1) a 에는 각 파트별 크기(1 / n), b 에는 분자의 절대값, c 에는 b 를 제외한 나머지의. 값
(2) 피규어 생성
(3) 분자가 0 이 아니면 반복문을 돌면서 b 의 크기만큼 빨간 바를 누적하여 그리고 이후 c 의 크기만큼 하얀색 바를 누적해서 그림
(4) 분자가 0 이면 c 의 크기만큼 하얀색 바를 누적해서 그림
(5) 분자가 0 보다 작은 경우와 아닌 경우를 나눠서 각 바마다 text 로 표시
(6) xlabel 표시
def fraction(numerator, denominator):
# 1
a = 1 /denominator
b = abs(numerator)
c = denominator - abs(numerator)
# 2
fig, ax = plt.subplots()
fig.set_size_inches(15, 2)
ax.set_ylim(0.6, 1.4)
ax.set_xlim(0, 1)
#ax.axis('off')
ax.set_xticks([])
ax.set_yticks([])
# 3
if b != 0:
ax.barh(1, a, linewidth = 2, color= 'r', edgecolor = 'k')
for i in range(b):
ax.barh(1, a, linewidth = 2, left = a * i, color= 'r', edgecolor = 'k')
for j in range(c):
ax.barh(1, a, linewidth = 2, left = a * (i + 1) + a * j, color= 'w', edgecolor = 'k')
# 4
else:
for i in range(c):
ax.barh(1, a, linewidth = 2, left = a * i, color= 'w', edgecolor = 'k')
# 5
if numerator < 0:
aa = '-1 /'
else:
aa = '1 /'
for k in range(denominator):
ax.text(k * a + a / 2, 1, aa + str(denominator), fontsize = 15, horizontalalignment = 'center')
# 6
ax.set_xlabel(str(numerator) + ' / ' + str(denominator), fontsize = 20)
2. 결과
1) fraction(4,9)
2) fraction(1, 3)
3) fraction(0, 8)
4) fraction(-4, 7)
3. 참고
- [python] matplotlib 플롯에서 xticks를 제거 하시겠습니까?
- 파이썬(python) 시각화 Matplotlib 기초 (2)
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] TextArea 를 이용한 나만의 범례 만들기 (0) | 2021.07.31 |
---|---|
[PYTHON] offsetbox 를 이용한 피카츄(이미지) 산점도 그리기 (0) | 2021.07.30 |
[PYTHON] bar 그래프에 백분율 표시하기 (0) | 2021.07.22 |
[PYTHON] streamlit 으로 대시보드 만들기 (0) | 2021.07.21 |
[PYTHON] stackplot 으로 Age Of Empires 그래프 그리기 (0) | 2021.07.18 |
Comments