728x90
반응형
1단계 : 1번값과 2번값의 오차율 구하기
2단계 : 1번값을 기준으로 전체 데이터를 오름차순으로 변경
3단계 : 2단계 전체를 엑셀속 그래프처럼 나타내기

(방법)
1단계 데이터만 있는 엑셀 파일
import matplotlib.pyplot as plt
import pandas as pd
file_name = 'data02.xlsx'
df = pd.read_excel(file_name)
df['오차율'] = (df['1번'] - df['2번']) * 100 / df['2번'] # 오차율(지금은 차 곗산. 공식 사용해 계산 가능)
df = df.sort_values(by='1번' ,ascending=True) # 1번으로 정렬(오름차순)
idx = [i for i in range(len(df))] # 차트의 x축 만들기
%matplotlib inline
# %matplotlib qt5
plt.figure(figsize=(10, 6))
fig, ax1 = plt.subplots() # 선 그래프
ax1.plot(idx, df['1번'], label='1번', color='red')
ax1.plot(idx, df['2번'], label='2번', color='violet')
ax1.set_ylim([0, 7]) # y축 범위
ax2 = ax1.twinx() # Bar 그래프
ax2.bar(idx, df['오차율'] , label='오차율')
ax2.set_ylim([0, 100]) # y2축 범위
plt.show()

title 및 x, y1, y2 레이블 표시
import matplotlib.pyplot as plt
import pandas as pd
file_name = 'data02.xlsx'
df = pd.read_excel(file_name)
df['오차율'] = (df['1번'] - df['2번']) * 100 / df['2번'] # 오차율(지금은 차 곗산. 공식 사용해 계산 가능)
df = df.sort_values(by='1번' ,ascending=True) # 1번으로 정렬(오름차순)
idx = [i for i in range(len(df))] # 차트의 x축 만들기
%matplotlib inline
# %matplotlib qt5
plt.figure(figsize=(10, 6))
fig, ax1 = plt.subplots() # 선 그래프
ax1.plot(idx, df['1번'], label='1번', color='red')
ax1.plot(idx, df['2번'], label='2번', color='violet')
ax1.set_ylim([0, 7]) # y축 범위
ax1.set_xlabel('X')
ax1.set_ylabel('y1')
ax2 = ax1.twinx() # Bar 그래프
ax2.bar(idx, df['오차율'] , label='오차율')
ax2.set_ylim([0, 100]) # y2축 범위
ax2.set_ylabel('y2')
ax1.set_title('Title')
plt.show()

728x90
반응형
'프로그램' 카테고리의 다른 글
| [파이썬] 터틀(turtle)의 좌표 기준을 변경 (setworldcoordinates) (0) | 2023.07.16 |
|---|---|
| [파이썬] 문제 : 영단어 맞추기 (0) | 2023.07.13 |
| [파이썬] 문제 : 2개의 엑셀 파일 읽어 비교하기 (openpyxl) (0) | 2023.07.12 |
| [파이썬] 리스트와 set에서 in 으로 중복 조건 확인(리스트와 set 구조의 실행 시간) (0) | 2023.07.05 |
| [파이썬] 문제 : numpy로 입력 받은 수들의 평균 계산 (0) | 2023.06.26 |
댓글