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
- python visualization
- MySQL
- 티스토리
- 독후감
- 파이썬 시각화
- Google Analytics
- MATLAB
- Pandas
- 블로그
- 리눅스
- Tistory
- Ga
- Visualization
- 한빛미디어
- 파이썬
- Blog
- tensorflow
- Python
- 딥러닝
- 매틀랩
- 한빛미디어서평단
- matplotlib
- 시각화
- 통계학
- 월간결산
- 서평단
- 텐서플로
- 서평
- SQL
- Linux
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] 국내 프로야구 역대 관중 수 그리기 본문
0. 목표
- 국내 프로야구 역대 관중 수 그리기
1. 실습
1) library 호출
import matplotlib.pyplot as plt
import matplotlib
import pandas as pd
from matplotlib import rc
rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False
from matplotlib.patches import Ellipse, Polygon
2) 데이터 만들기
- crowdf2 는 그림자 효과를 위함
year = [i for i in range(1999, 2019, 1)]
year2 = []
for i in year:
year2.append(str(i)[2:])
crowd = [3221, 2508, 2991, 2395, 2723, 2332, 3388, 3040, 4104, 5256, 5925, 5929, 6810, 7156, 6442, 6510, 7361, 8340, 8401, 8074]
df = pd.DataFrame({'year' : year2, 'crowd' : crowd})
df['crowd2'] = df['crowd'] - 70
3) 코드
fig, ax = plt.subplots()
# 피규어 크기
fig.set_size_inches(15, 8)
# 그림자
ax.plot(df['year'], df['crowd2'], linewidth = 4, alpha = 0.5, color = 'gray')
# 라인 그리기
ax.plot(df['year'], df['crowd'], linewidth = 4, color = '#1D2238')
# 산점도
ax.scatter(df['year'], df['crowd'], linewidth = 4, color = '#1D2238', marker = 'o', s = 500)
# ylim 지정
ax.set_ylim([0, 9000])
# x 그리드
ax.grid(True, axis = 'y')
# 제목
ax.set_title('국내 프로야구 역대 관중 수 (1999 - 2018)', fontsize = 20, fontweight='bold')
# 텍스트로 년도 적기
for i in range(len(df['year'])):
ax.text(df['year'][i], df['crowd'][i], df['year'][i], color = 'white', verticalalignment = 'center' , horizontalalignment = 'center' , fontweight='bold', fontsize = 15)
# x 축 비가시화
ax.tick_params(bottom = False, labelbottom = False)
# , 로 천 단위 변경
ax.get_yaxis().set_major_formatter(matplotlib.ticker.FuncFormatter(lambda x, p: format(int(x), ',')))
# y tick 크기
ax.tick_params(axis = 'y', labelsize = 15)
# 바깥 라인 지우기 / 조작
ax.spines['left'].set_linewidth(0)
ax.spines['top'].set_linewidth(0)
ax.spines['right'].set_linewidth(0)
ax.spines['bottom'].set_linewidth(1)
ax.spines['bottom'].set_color('#BFBFBF')
# 영역 그래프 그리기
ax.add_patch(Polygon([
(df['year'][14], df['crowd'][13]),
(df['year'][15], df['crowd'][14]),
(df['year'][16], df['crowd'][15]),
(df['year'][17], df['crowd'][16]),
(df['year'][17],0),
(df['year'][14],0)], hatch='/', facecolor='g', alpha = 0))
2. 출처
- [파이썬 matplotlib] 그래프 텍스트 정렬하기
- 파이썬 matplotlib에서 쉼표를 사용하여 축 번호 형식을 천 단위로 어떻게 포맷합니까?
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[Python] barh 그래프에서 특정 bar만 다른 색으로 칠하기 (0) | 2022.01.04 |
---|---|
[PYTHON] 정해진 구역에 패턴 채우기 (0) | 2021.12.19 |
[PYTHON] minor 기능을 이용한 보조 눈금 그리기 (0) | 2021.12.16 |
[PYTHON] matplotlib 으로 seaboard scatterplot 구현하기 (0) | 2021.12.14 |
[PYTHON] 인덱싱, 슬라이싱, iloc, loc, iat, at 정리 (0) | 2021.11.15 |
Comments