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
- Ga
- 텐서플로
- 월간결산
- 한빛미디어
- Tistory
- Google Analytics
- Linux
- 시각화
- MySQL
- 딥러닝
- 서평단
- python visualization
- 파이썬 시각화
- 독후감
- 매틀랩
- Blog
- 통계학
- 블로그
- Pandas
- SQL
- Python
- Visualization
- 리눅스
- tensorflow
- 파이썬
- 서평
- MATLAB
- 티스토리
- 한빛미디어서평단
- matplotlib
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] fill_between 을 이용한 신뢰구간을 포함한 lineplot 구현하기 본문
ComputerLanguage_Program/PYTHON
[PYTHON] fill_between 을 이용한 신뢰구간을 포함한 lineplot 구현하기
pbj0812 2021. 8. 6. 22:560. 목표
- fill_between 을 이용한 신뢰구간을 포함한 lineplot 구현하기
1. seaborn 의 lineplot
import seaborn as sns
flights = sns.load_dataset("flights")
sns.lineplot(data=flights, x="year", y="passengers")
2. 구현하기
0) library 호출
import seaborn as sns
import matplotlib.pyplot as plt
import math
1) 데이터 확인
flights.head()
2) 변수 생성
- flights_mean : 연도별 탑승자 평균
- flights_year : 연도
- flights_len : 연도별 데이터 길이
flights_mean = flights.groupby(by = 'year').agg({'passengers' : 'mean'})
flights_mean = list(flights_mean['passengers'])
flights_year = flights.year.unique()
flights_len = len(flights_year)
3) 연도별 표준편차 구하기
flights_std = []
for i in range(flights_len):
year = flights_year[i]
tmp = list(flights[flights['year'] == year]['passengers'])
tmp_mean = sum(tmp)/len(tmp)
tmp2 = []
for j in tmp:
tmp2.append((j - tmp_mean)**2)
flights_std.append(math.sqrt(sum(tmp2) / len(tmp)))
4) 연도별 신뢰도 구하기
- 신뢰도 95% 사용 => 1.96
flights_reliability = []
for i in flights_std:
flights_reliability.append(1.96 * i / math.sqrt(len(tmp)))
5) 연도별 신뢰구간 구하기
- 윗부분과 아랫부분 따로 연산
upper_ci = []
lower_ci = []
for i in range(len(flights_mean)):
upper_ci.append(flights_mean[i] + flights_reliability[i])
lower_ci.append(flights_mean[i] - flights_reliability[i])
6) 그림 그리기
# 도화지
fig, ax = plt.subplots()
fig.set_size_inches(15, 15)
# 신뢰구간
ax.fill_between(flights_year, upper_ci, lower_ci, facecolor='green', interpolate=True, alpha = 0.2)
# 평균
ax.plot(flights_year, flights_mean, 'g')
# x축, y축 제목
ax.set_xlabel('year', fontsize = 50)
ax.set_ylabel('passengers', fontsize = 50)
# x축, y축 폰트 사이즈
ax.tick_params(axis = 'x', labelsize = 20)
ax.tick_params(axis = 'y', labelsize = 20)
# 년도 데이터 전체 표출
ax.set_xticks(flights_year);
- 결과
3. 참고
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] table 을 사용하여 그래프와 테이블을 같이 그리기 (0) | 2021.08.11 |
---|---|
[PYTHON] floweaver 를 이용한 sankey 그래프 그리기 (0) | 2021.08.10 |
[PYTHON] interpolate 로 violinplot 구현하기 (0) | 2021.08.05 |
[PYTHON] add_patch 를 이용한 violinplot 구현하기 (0) | 2021.08.04 |
[PYTHON] 상자 그림(box plot) 구현하기 (0) | 2021.08.03 |
Comments