JUNGU commited on
Commit
f3b2732
ยท
verified ยท
1 Parent(s): d107d23

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +16 -8
src/streamlit_app.py CHANGED
@@ -16,7 +16,7 @@ def setup_korean_font():
16
  try:
17
  # 1. ์‚ฌ์šฉ์ž ํฐํŠธ ํŒŒ์ผ ํ™•์ธ
18
  script_dir = os.path.dirname(os.path.abspath(__file__))
19
- possible_fonts = ["NanumGaRamYeonGgoc.ttf", "NanumGothic.ttf", "malgun.ttf"]
20
 
21
  font_path = None
22
  for font_file in possible_fonts:
@@ -97,6 +97,12 @@ def analyze_scores(df):
97
  st.write("#### ๐ŸŽจ ์ ์ˆ˜ ๋ถ„ํฌ ์‹œ๊ฐํ™”")
98
 
99
  try:
 
 
 
 
 
 
100
  fig, ax = plt.subplots(figsize=(12, 7))
101
 
102
  # ํžˆ์Šคํ† ๊ทธ๋žจ๊ณผ KDE ๊ณก์„ 
@@ -111,17 +117,19 @@ def analyze_scores(df):
111
  # ํ‰๊ท ์„ 
112
  ax.axvline(mu, color='red', linestyle=':', linewidth=2, alpha=0.8, label=f'ํ‰๊ท : {mu:.1f}')
113
 
114
- # ์ œ๋ชฉ๊ณผ ๋ผ๋ฒจ - ํ•œ๊ธ€์ด ์ž˜ ๋ณด์ด๋„๋ก ์„ค์ •
115
- ax.set_title(f'{score_column} ์ ์ˆ˜ ๋ถ„ํฌ ๋ถ„์„', fontsize=16, pad=20)
116
- ax.set_xlabel('์ ์ˆ˜', fontsize=12)
117
- ax.set_ylabel('๋ฐ€๋„', fontsize=12)
118
- ax.legend(fontsize=10)
 
 
119
  ax.grid(True, alpha=0.3)
120
 
121
- # ํ†ต๊ณ„ ์ •๋ณด ๋ฐ•์Šค
122
  stats_text = f'์ƒ˜ํ”Œ ์ˆ˜: {len(scores)}\nํ‰๊ท : {mu:.2f}\nํ‘œ์ค€ํŽธ์ฐจ: {std:.2f}\n์ตœ์†Ÿ๊ฐ’: {scores.min():.1f}\n์ตœ๋Œ“๊ฐ’: {scores.max():.1f}'
123
  ax.text(0.02, 0.98, stats_text, transform=ax.transAxes,
124
- fontsize=10, verticalalignment='top',
125
  bbox=dict(boxstyle='round,pad=0.5', facecolor='lightblue', alpha=0.8))
126
 
127
  plt.tight_layout()
 
16
  try:
17
  # 1. ์‚ฌ์šฉ์ž ํฐํŠธ ํŒŒ์ผ ํ™•์ธ
18
  script_dir = os.path.dirname(os.path.abspath(__file__))
19
+ possible_fonts = ["NanumGothic.ttf"]
20
 
21
  font_path = None
22
  for font_file in possible_fonts:
 
97
  st.write("#### ๐ŸŽจ ์ ์ˆ˜ ๋ถ„ํฌ ์‹œ๊ฐํ™”")
98
 
99
  try:
100
+ # ํ•œ๊ธ€ ํฐํŠธ ์ค€๋น„
101
+ if FONT_PATH:
102
+ font_prop = fm.FontProperties(fname=FONT_PATH)
103
+ else:
104
+ font_prop = fm.FontProperties(family=plt.rcParams['font.family'])
105
+
106
  fig, ax = plt.subplots(figsize=(12, 7))
107
 
108
  # ํžˆ์Šคํ† ๊ทธ๋žจ๊ณผ KDE ๊ณก์„ 
 
117
  # ํ‰๊ท ์„ 
118
  ax.axvline(mu, color='red', linestyle=':', linewidth=2, alpha=0.8, label=f'ํ‰๊ท : {mu:.1f}')
119
 
120
+ # ์ œ๋ชฉ๊ณผ ๋ผ๋ฒจ - ํ•œ๊ธ€ ํฐํŠธ ์ง์ ‘ ์ง€์ •
121
+ ax.set_title(f'{score_column} ์ ์ˆ˜ ๋ถ„ํฌ ๋ถ„์„', fontproperties=font_prop, fontsize=16, pad=20)
122
+ ax.set_xlabel('์ ์ˆ˜', fontproperties=font_prop, fontsize=12)
123
+ ax.set_ylabel('๋ฐ€๋„', fontproperties=font_prop, fontsize=12)
124
+
125
+ # ๋ฒ”๋ก€ - ํ•œ๊ธ€ ํฐํŠธ ์ ์šฉ
126
+ legend = ax.legend(prop=font_prop, fontsize=10)
127
  ax.grid(True, alpha=0.3)
128
 
129
+ # ํ†ต๊ณ„ ์ •๋ณด ๋ฐ•์Šค - ํ•œ๊ธ€ ํฐํŠธ ์ ์šฉ
130
  stats_text = f'์ƒ˜ํ”Œ ์ˆ˜: {len(scores)}\nํ‰๊ท : {mu:.2f}\nํ‘œ์ค€ํŽธ์ฐจ: {std:.2f}\n์ตœ์†Ÿ๊ฐ’: {scores.min():.1f}\n์ตœ๋Œ“๊ฐ’: {scores.max():.1f}'
131
  ax.text(0.02, 0.98, stats_text, transform=ax.transAxes,
132
+ fontproperties=font_prop, fontsize=10, verticalalignment='top',
133
  bbox=dict(boxstyle='round,pad=0.5', facecolor='lightblue', alpha=0.8))
134
 
135
  plt.tight_layout()