UOMOP
bar graph 본문
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
a = [64.3, 69.12, 71]
b = [55.2, 67.3, 73.2]
year = ['0dB', '5dB', '10dB']
df = pd.DataFrame({'DeepJSCC' : a, 'MAE+JSCC' : b}, index = year)
# 그림 사이즈, 바 굵기 조정
fig, ax = plt.subplots(figsize=(8,6))
bar_width = 0.35
# 연도가 4개이므로 0, 1, 2, 3 위치를 기준으로 삼음
index = np.arange(3)
# 각 연도별로 3개 샵의 bar를 순서대로 나타내는 과정, 각 그래프는 0.25의 간격을 두고 그려짐
b1 = plt.bar(index, df['DeepJSCC'], bar_width, alpha=0.4, color='red', label='DeepJSCC')
b2 = plt.bar(index + bar_width, df['MAE+JSCC'], bar_width, alpha=0.4, color='blue', label='MAE+JSCC')
# x축 위치를 정 가운데로 조정하고 x축의 텍스트를 year 정보와 매칭
plt.xticks(index + bar_width / 2, ['0dB', '5dB', '10dB'])
for i, value in enumerate(df['DeepJSCC']):
plt.text(i, value + 2, f'{value}%', ha='center', va='bottom', fontsize=10)
for i, value in enumerate(df['MAE+JSCC']):
plt.text(i + bar_width, value + 2, f'{value}%', ha='center', va='bottom', fontsize=10)
# x축, y축 이름 및 범례 설정
plt.xlabel('SNR(dB)', size = 13)
plt.ylabel('Accuracy', size = 13)
plt.legend()
plt.ylim([0, 100])
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.show()
'MAE' 카테고리의 다른 글
ㅇㄹㅇㄹ (0) | 2024.05.23 |
---|---|
CBS (odd, even) masking (0) | 2024.04.18 |
line graph (0) | 2024.02.21 |
Comments