Spaces:
Running
Running
Update src/streamlit_app.py
Browse files- src/streamlit_app.py +30 -13
src/streamlit_app.py
CHANGED
@@ -6,21 +6,38 @@ import seaborn as sns
|
|
6 |
from scipy.stats import norm, skew
|
7 |
import platform
|
8 |
|
9 |
-
#
|
|
|
10 |
def set_korean_font():
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
# ํฐ๋ฏธ๋์์ `sudo apt-get install -y fonts-nanum*` ์คํ
|
18 |
-
try:
|
19 |
-
plt.rc('font', family='NanumGothic')
|
20 |
-
except:
|
21 |
-
st.warning("๋๋๊ณ ๋ ํฐํธ๊ฐ ์ค์น๋์ด ์์ง ์์ ํ๊ธ์ด ๊นจ์ง ์ ์์ต๋๋ค. 'sudo apt-get install -y fonts-nanum*' ๋ช
๋ น์ด๋ก ํฐํธ๋ฅผ ์ค์นํด์ฃผ์ธ์.")
|
22 |
-
plt.rcParams['axes.unicode_minus'] = False # ๋ง์ด๋์ค ํฐํธ ๊นจ์ง ๋ฐฉ์ง
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
def analyze_scores(df):
|
25 |
"""๋ฐ์ดํฐํ๋ ์์ ๋ฐ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ํ๋ ํจ์"""
|
26 |
st.subheader("๋ฐ์ดํฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ (์์ 5๊ฐ)")
|
|
|
6 |
from scipy.stats import norm, skew
|
7 |
import platform
|
8 |
|
9 |
+
# --- ๊ธฐ์กด set_korean_font ํจ์๋ฅผ ์๋ ์ฝ๋๋ก ์ ์ฒด ๊ต์ฒดํด์ฃผ์ธ์ ---
|
10 |
+
|
11 |
def set_korean_font():
|
12 |
+
"""
|
13 |
+
Hugging Face Space์ ํฌํจ๋ ํฐํธ ํ์ผ์ ์ง์ ์ง์ ํ์ฌ ๋ก๋ํฉ๋๋ค.
|
14 |
+
"""
|
15 |
+
# 1. ์ฌ์ฉ์๊ฐ ์
๋ก๋ํ ํฐํธ ํ์ผ์ ๊ฒฝ๋ก์ ์ด๋ฆ์ ์ ํํ ์ง์ ํฉ๋๋ค.
|
16 |
+
# ์คํฌ๋ฆฐ์ท ๊ธฐ์ค์ผ๋ก, ํ์ผ์ด ์ต์์ ๊ฒฝ๋ก์ ์์ผ๋ฏ๋ก ์๋์ ๊ฐ์ด ์ค์ ํฉ๋๋ค.
|
17 |
+
font_path = 'NanumGaRamYeonGgoc.ttf'
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
+
# 2. ํ์ผ์ด ์ค์ ๋ก ํด๋น ๊ฒฝ๋ก์ ์กด์ฌํ๋์ง ํ์ธํฉ๋๋ค.
|
20 |
+
if os.path.exists(font_path):
|
21 |
+
# 3. ํฐํธ ํ๋กํผํฐ๋ฅผ ๊ฐ์ ธ์์, matplotlib์ ๊ธฐ๋ณธ ํฐํธ๋ก ์ค์ ํฉ๋๋ค.
|
22 |
+
font_prop = fm.FontProperties(fname=font_path)
|
23 |
+
plt.rc('font', family=font_prop.get_name())
|
24 |
+
|
25 |
+
# ์ฑ์ ์ฌ์ด๋๋ฐ์ ์ฑ๊ณต ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค. (์ ํ ์ฌํญ)
|
26 |
+
try:
|
27 |
+
st.sidebar.success(f"'{font_prop.get_name()}' ํฐํธ ๋ก๋ฉ ์ฑ๊ณต!")
|
28 |
+
except Exception:
|
29 |
+
# ์คํธ๋ฆผ๋ฆฟ์ ์คํ ์์์ ๋ฐ๋ผ ์ค๋ฅ๊ฐ ๋ ์ ์์ด ์์ธ ์ฒ๋ฆฌ
|
30 |
+
pass
|
31 |
+
else:
|
32 |
+
# 4. ํ์ผ์ด ์์ ๊ฒฝ์ฐ, ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.
|
33 |
+
try:
|
34 |
+
st.sidebar.warning(f"ํฐํธ ํ์ผ์ ์ฐพ์ ์ ์์ต๋๋ค: '{font_path}'. ํ๊ธ์ด ๊นจ์ ธ ๋ณด์ผ ์ ์์ต๋๋ค.")
|
35 |
+
except Exception:
|
36 |
+
pass
|
37 |
+
|
38 |
+
# 5. ๋ง์ด๋์ค ๊ธฐํธ๊ฐ ๊นจ์ง์ง ์๋๋ก ์ค์ ํฉ๋๋ค.
|
39 |
+
plt.rcParams['axes.unicode_minus'] = False
|
40 |
+
|
41 |
def analyze_scores(df):
|
42 |
"""๋ฐ์ดํฐํ๋ ์์ ๋ฐ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ํ๋ ํจ์"""
|
43 |
st.subheader("๋ฐ์ดํฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ (์์ 5๊ฐ)")
|