Spaces:
Sleeping
Sleeping
Initial commit
Browse files- app.py.env +1 -0
- child_mind_data.json +168 -0
- data/emotions_data.json +64 -0
- streamlit_app.py +89 -0
app.py.env
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
PYTHONUNBUFFERED=true
|
child_mind_data.json
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{"word": "ํ๊ต"},
|
| 3 |
+
{"word": "์ ์๋"},
|
| 4 |
+
{"word": "์น๊ตฌ"},
|
| 5 |
+
{"word": "์์ "},
|
| 6 |
+
{"word": "์ฑ
"},
|
| 7 |
+
{"word": "๊ณต๋ถ"},
|
| 8 |
+
{"word": "์ด๋์ฅ"},
|
| 9 |
+
{"word": "๋์ด"},
|
| 10 |
+
{"word": "์ ์ฌ"},
|
| 11 |
+
{"word": "์ฌ๋์๊ฐ"},
|
| 12 |
+
{"word": "์ง"},
|
| 13 |
+
{"word": "๊ฐ์กฑ"},
|
| 14 |
+
{"word": "์๋ง"},
|
| 15 |
+
{"word": "์๋น "},
|
| 16 |
+
{"word": "ํ"},
|
| 17 |
+
{"word": "๋๋"},
|
| 18 |
+
{"word": "๋์"},
|
| 19 |
+
{"word": "ํ ๋จธ๋"},
|
| 20 |
+
{"word": "ํ ์๋ฒ์ง"},
|
| 21 |
+
{"word": "๋ฐฅ"},
|
| 22 |
+
{"word": "๋นต"},
|
| 23 |
+
{"word": "์ฐ์ "},
|
| 24 |
+
{"word": "๊ณผ์"},
|
| 25 |
+
{"word": "์ฅ๋๊ฐ"},
|
| 26 |
+
{"word": "์ธํ"},
|
| 27 |
+
{"word": "๊ฒ์"},
|
| 28 |
+
{"word": "์ถ๊ตฌ"},
|
| 29 |
+
{"word": "๋๊ตฌ"},
|
| 30 |
+
{"word": "์์"},
|
| 31 |
+
{"word": "ํผ์๋
ธ"},
|
| 32 |
+
{"word": "๊ธฐํ"},
|
| 33 |
+
{"word": "๊ฐ์์ง"},
|
| 34 |
+
{"word": "๊ณ ์์ด"},
|
| 35 |
+
{"word": "์"},
|
| 36 |
+
{"word": "๋ฌผ๊ณ ๊ธฐ"},
|
| 37 |
+
{"word": "ํด"},
|
| 38 |
+
{"word": "๋น"},
|
| 39 |
+
{"word": "๋ฐ๋"},
|
| 40 |
+
{"word": "๋"},
|
| 41 |
+
{"word": "๋ด"},
|
| 42 |
+
{"word": "์ฌ๋ฆ"},
|
| 43 |
+
{"word": "๊ฐ์"},
|
| 44 |
+
{"word": "๊ฒจ์ธ"},
|
| 45 |
+
{"word": "ํฌ๋ค"},
|
| 46 |
+
{"word": "์๋ค"},
|
| 47 |
+
{"word": "๋ง๋ค"},
|
| 48 |
+
{"word": "์ ๋ค"},
|
| 49 |
+
{"word": "๋น ๋ฅด๋ค"},
|
| 50 |
+
{"word": "๋๋ฆฌ๋ค"},
|
| 51 |
+
{"word": "์ฌ๋ฏธ์๋ค"},
|
| 52 |
+
{"word": "์ด๋ ต๋ค"},
|
| 53 |
+
{"word": "์ฝ๋ค"},
|
| 54 |
+
{"word": "์์๋ค"},
|
| 55 |
+
{"word": "๋ฉ์๋ค"},
|
| 56 |
+
{"word": "์ข๋ค"},
|
| 57 |
+
{"word": "๋์๋ค"},
|
| 58 |
+
{"word": "์ฌํ๋ค"},
|
| 59 |
+
{"word": "๊ธฐ์๋ค"},
|
| 60 |
+
{"word": "๋จ๊ฒ๋ค"},
|
| 61 |
+
{"word": "์ฐจ๊ฐ๋ค"},
|
| 62 |
+
{"word": "๋ฌด๊ฒ๋ค"},
|
| 63 |
+
{"word": "๊ฐ๋ณ๋ค"},
|
| 64 |
+
{"word": "๊ฐ๋ค"},
|
| 65 |
+
{"word": "์ค๋ค"},
|
| 66 |
+
{"word": "๋จน๋ค"},
|
| 67 |
+
{"word": "๋ง์๋ค"},
|
| 68 |
+
{"word": "์๋ค"},
|
| 69 |
+
{"word": "์ผ์ด๋๋ค"},
|
| 70 |
+
{"word": "๋๋ค"},
|
| 71 |
+
{"word": "๊ณต๋ถํ๋ค"},
|
| 72 |
+
{"word": "์ฝ๋ค"},
|
| 73 |
+
{"word": "์ฐ๋ค"},
|
| 74 |
+
{"word": "๊ทธ๋ฆฌ๋ค"},
|
| 75 |
+
{"word": "๋ง๋ค๋ค"},
|
| 76 |
+
{"word": "๋ณด๋ค"},
|
| 77 |
+
{"word": "๋ฃ๋ค"},
|
| 78 |
+
{"word": "๋งํ๋ค"},
|
| 79 |
+
{"word": "์๋ค"},
|
| 80 |
+
{"word": "์ธ๋ค"},
|
| 81 |
+
{"word": "๋ฐ๋ค"},
|
| 82 |
+
{"word": "๋์ง๋ค"},
|
| 83 |
+
{"word": "์ก๋ค"},
|
| 84 |
+
{"word": "์๊ฐํ๋ค"},
|
| 85 |
+
{"word": "์๋ค"},
|
| 86 |
+
{"word": "๋ชจ๋ฅด๋ค"},
|
| 87 |
+
{"word": "์ข์ํ๋ค"},
|
| 88 |
+
{"word": "์ซ์ดํ๋ค"},
|
| 89 |
+
{"word": "๊ตญ์ด"},
|
| 90 |
+
{"word": "์ํ"},
|
| 91 |
+
{"word": "์์ด"},
|
| 92 |
+
{"word": "๊ณผํ"},
|
| 93 |
+
{"word": "์ฌํ"},
|
| 94 |
+
{"word": "์์
"},
|
| 95 |
+
{"word": "๋ฏธ์ "},
|
| 96 |
+
{"word": "์ฒด์ก"},
|
| 97 |
+
{"word": "์ซ์"},
|
| 98 |
+
{"word": "๋ํ๊ธฐ"},
|
| 99 |
+
{"word": "๋นผ๊ธฐ"},
|
| 100 |
+
{"word": "๊ณฑํ๊ธฐ"},
|
| 101 |
+
{"word": "๋๋๊ธฐ"},
|
| 102 |
+
{"word": "๋ถ์"},
|
| 103 |
+
{"word": "๋ํ"},
|
| 104 |
+
{"word": "์๊น"},
|
| 105 |
+
{"word": "์ญ์ฌ"},
|
| 106 |
+
{"word": "๋๋ผ"},
|
| 107 |
+
{"word": "์๋ฌผ"},
|
| 108 |
+
{"word": "๋๋ฌผ"},
|
| 109 |
+
{"word": "์๋ฆฌ"},
|
| 110 |
+
{"word": "๋ฐํ"},
|
| 111 |
+
{"word": "ํ ๋ก "},
|
| 112 |
+
{"word": "์คํ"},
|
| 113 |
+
{"word": "์ํ"},
|
| 114 |
+
{"word": "ํ๊ฐ"},
|
| 115 |
+
{"word": "ํ๋ณต"},
|
| 116 |
+
{"word": "์ฌํ"},
|
| 117 |
+
{"word": "๋ถ๋
ธ"},
|
| 118 |
+
{"word": "๋๋ ค์"},
|
| 119 |
+
{"word": "๋๋"},
|
| 120 |
+
{"word": "์ฆ๊ฑฐ์"},
|
| 121 |
+
{"word": "์ง์ฆ"},
|
| 122 |
+
{"word": "์งํฌ"},
|
| 123 |
+
{"word": "์๊ฐ"},
|
| 124 |
+
{"word": "๊ณต๊ฐ"},
|
| 125 |
+
{"word": "๊ท์น"},
|
| 126 |
+
{"word": "์ฝ์"},
|
| 127 |
+
{"word": "๋
ธ๋ ฅ"},
|
| 128 |
+
{"word": "๊ฒฐ๊ณผ"},
|
| 129 |
+
{"word": "์ด์ "},
|
| 130 |
+
{"word": "๋ฐฉ๋ฒ"},
|
| 131 |
+
{"word": "์ค์ํ๋ค"},
|
| 132 |
+
{"word": "๊ถ๋ฆฌ"},
|
| 133 |
+
{"word": "์๋ฌด"},
|
| 134 |
+
{"word": "ํ
๋ ๋น์ "},
|
| 135 |
+
{"word": "์ปดํจํฐ"},
|
| 136 |
+
{"word": "ํด๋ํฐ"},
|
| 137 |
+
{"word": "๋"},
|
| 138 |
+
{"word": "์ฉ๋"},
|
| 139 |
+
{"word": "์ ๋ฌผ"},
|
| 140 |
+
{"word": "์ท"},
|
| 141 |
+
{"word": "์ ๋ฐ"},
|
| 142 |
+
{"word": "๋ถ๋๋ฝ๋ค"},
|
| 143 |
+
{"word": "๊ท์ฝ๋ค"},
|
| 144 |
+
{"word": "๋ฉ์ง๋ค"},
|
| 145 |
+
{"word": "์กฐ์ฉํ๋ค"},
|
| 146 |
+
{"word": "ํฌ๊ฒ"},
|
| 147 |
+
{"word": "์๊ฒ"},
|
| 148 |
+
{"word": "๋นจ๋ฆฌ"},
|
| 149 |
+
{"word": "์ฒ์ฒํ"},
|
| 150 |
+
{"word": "์์ฃผ"},
|
| 151 |
+
{"word": "๊ฐ๋"},
|
| 152 |
+
{"word": "ํญ์"},
|
| 153 |
+
{"word": "๋ณดํต"},
|
| 154 |
+
{"word": "๊ฐ์๊ธฐ"},
|
| 155 |
+
{"word": "๊ทธ๋ฆฌ๊ณ "},
|
| 156 |
+
{"word": "๊ทธ๋ฌ๋"},
|
| 157 |
+
{"word": "๊ทธ๋์"},
|
| 158 |
+
{"word": "์๋ํ๋ฉด"},
|
| 159 |
+
{"word": "~์"},
|
| 160 |
+
{"word": "~๋"},
|
| 161 |
+
{"word": "~์ด"},
|
| 162 |
+
{"word": "~๊ฐ"},
|
| 163 |
+
{"word": "~์"},
|
| 164 |
+
{"word": "~๋ฅผ"},
|
| 165 |
+
{"word": "~์๊ฒ"},
|
| 166 |
+
{"word": "~์"},
|
| 167 |
+
{"word": "~๊ณผ"}
|
| 168 |
+
]
|
data/emotions_data.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{"word": "๊ธฐ์จ"},
|
| 3 |
+
{"word": "ํ๋ณต"},
|
| 4 |
+
{"word": "๋ง์กฑ"},
|
| 5 |
+
{"word": "ํฌ์ด"},
|
| 6 |
+
{"word": "์ฆ๊ฑฐ์"},
|
| 7 |
+
{"word": "ํํฌ"},
|
| 8 |
+
{"word": "๊ฐ์ฌ"},
|
| 9 |
+
{"word": "์ฌ๋"},
|
| 10 |
+
{"word": "๊ทธ๋ฆฌ์"},
|
| 11 |
+
{"word": "์ค๋ "},
|
| 12 |
+
{"word": "์ ์ "},
|
| 13 |
+
{"word": "๊ฐ๋"},
|
| 14 |
+
{"word": "ํํ"},
|
| 15 |
+
{"word": "์์ "},
|
| 16 |
+
{"word": "ํธ์ํจ"},
|
| 17 |
+
{"word": "๊ณ ์"},
|
| 18 |
+
{"word": "์ฌํ"},
|
| 19 |
+
{"word": "์ฐ์ธ"},
|
| 20 |
+
{"word": "๊ทธ๋ฆฌ์"},
|
| 21 |
+
{"word": "์ธ๋ก์"},
|
| 22 |
+
{"word": "์ค๋ง"},
|
| 23 |
+
{"word": "์์ค๊ฐ"},
|
| 24 |
+
{"word": "ํํ"},
|
| 25 |
+
{"word": "๊ณตํํจ"},
|
| 26 |
+
{"word": "์ ๋ง"},
|
| 27 |
+
{"word": "๋ถ๋
ธ"},
|
| 28 |
+
{"word": "์ง์ฆ"},
|
| 29 |
+
{"word": "ํ๋จ"},
|
| 30 |
+
{"word": "๊ฒฉ๋ถ"},
|
| 31 |
+
{"word": "๋ถ๋ง"},
|
| 32 |
+
{"word": "์๋ง"},
|
| 33 |
+
{"word": "๋ฏธ์"},
|
| 34 |
+
{"word": "์งํฌ"},
|
| 35 |
+
{"word": "์๊ธฐ์ฌ"},
|
| 36 |
+
{"word": "์ฆ์ค"},
|
| 37 |
+
{"word": "๋๋ ค์"},
|
| 38 |
+
{"word": "๋ถ์"},
|
| 39 |
+
{"word": "๊ฑฑ์ "},
|
| 40 |
+
{"word": "๊ณตํฌ"},
|
| 41 |
+
{"word": "๊ฒฝ๊ณ์ฌ"},
|
| 42 |
+
{"word": "๊ฒ๋จ"},
|
| 43 |
+
{"word": "๋นํฉ"},
|
| 44 |
+
{"word": "๋๋"},
|
| 45 |
+
{"word": "๊ฒฝ์
"},
|
| 46 |
+
{"word": "์ถฉ๊ฒฉ"},
|
| 47 |
+
{"word": "ํผ๋"},
|
| 48 |
+
{"word": "๋นํน๊ฐ"},
|
| 49 |
+
{"word": "์์น์ฌ"},
|
| 50 |
+
{"word": "๋ถ๋๋ฌ์"},
|
| 51 |
+
{"word": "์ฐฝํผํจ"},
|
| 52 |
+
{"word": "์ฃ์ฑ
๊ฐ"},
|
| 53 |
+
{"word": "ํํ"},
|
| 54 |
+
{"word": "์์ฑ
"},
|
| 55 |
+
{"word": "ํ์ค"},
|
| 56 |
+
{"word": "์ญ๊ฒจ์"},
|
| 57 |
+
{"word": "์ซ์"},
|
| 58 |
+
{"word": "๊ฑฐ๋ถ๊ฐ"},
|
| 59 |
+
{"word": "๊ธฐ๋"},
|
| 60 |
+
{"word": "ํฌ๋ง"},
|
| 61 |
+
{"word": "๊ฐ๋ง"},
|
| 62 |
+
{"word": "์ด๋ง"},
|
| 63 |
+
{"word": "๋๊ฒฝ"}
|
| 64 |
+
]
|
streamlit_app.py
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
import streamlit as st
|
| 3 |
+
import json
|
| 4 |
+
import os
|
| 5 |
+
import uuid
|
| 6 |
+
import glob
|
| 7 |
+
from datetime import datetime
|
| 8 |
+
import numpy as np
|
| 9 |
+
import platform
|
| 10 |
+
import networkx as nx
|
| 11 |
+
import plotly.graph_objects as go
|
| 12 |
+
from sklearn.metrics.pairwise import cosine_similarity
|
| 13 |
+
import plotly
|
| 14 |
+
import matplotlib.pyplot as plt
|
| 15 |
+
import matplotlib.font_manager as fm
|
| 16 |
+
from sklearn.manifold import TSNE
|
| 17 |
+
import warnings
|
| 18 |
+
warnings.filterwarnings('ignore')
|
| 19 |
+
|
| 20 |
+
# ํ์ด์ง ์ค์
|
| 21 |
+
st.set_page_config(
|
| 22 |
+
page_title="ํ๊ตญ์ด ๋จ์ด ์๋ฏธ ๋คํธ์ํฌ ์๊ฐํ",
|
| 23 |
+
page_icon="๐ค",
|
| 24 |
+
layout="wide"
|
| 25 |
+
)
|
| 26 |
+
|
| 27 |
+
# ํด๋ ๊ฒฝ๋ก ์ค์
|
| 28 |
+
DATA_FOLDER = 'data'
|
| 29 |
+
UPLOAD_FOLDER = 'uploads'
|
| 30 |
+
|
| 31 |
+
# ํด๋ ์์ฑ
|
| 32 |
+
if not os.path.exists(UPLOAD_FOLDER):
|
| 33 |
+
os.makedirs(UPLOAD_FOLDER)
|
| 34 |
+
|
| 35 |
+
# ์ธ์
์ํ ์ด๊ธฐํ
|
| 36 |
+
if 'model' not in st.session_state:
|
| 37 |
+
st.session_state.model = None
|
| 38 |
+
|
| 39 |
+
if 'embeddings_cache' not in st.session_state:
|
| 40 |
+
st.session_state.embeddings_cache = {}
|
| 41 |
+
|
| 42 |
+
if 'graph_cache' not in st.session_state:
|
| 43 |
+
st.session_state.graph_cache = {}
|
| 44 |
+
|
| 45 |
+
if 'data_files' not in st.session_state:
|
| 46 |
+
st.session_state.data_files = {}
|
| 47 |
+
|
| 48 |
+
if 'selected_files' not in st.session_state:
|
| 49 |
+
st.session_state.selected_files = []
|
| 50 |
+
|
| 51 |
+
if 'threshold' not in st.session_state:
|
| 52 |
+
st.session_state.threshold = 0.7
|
| 53 |
+
|
| 54 |
+
# --- ํ๊ธ ํฐํธ ์ค์ ํจ์ ---
|
| 55 |
+
def set_korean_font():
|
| 56 |
+
"""
|
| 57 |
+
ํ์ฌ ์ด์์ฒด์ ์ ๋ง๋ ํ๊ธ ํฐํธ๋ฅผ matplotlib ๋ฐ Plotly์ฉ์ผ๋ก ์ค์ ์๋ํ๊ณ ,
|
| 58 |
+
Plotly์์ ์ฌ์ฉํ ํฐํธ ์ด๋ฆ์ ๋ฐํํฉ๋๋ค.
|
| 59 |
+
"""
|
| 60 |
+
system_name = platform.system()
|
| 61 |
+
plotly_font_name = None # Plotly์์ ์ฌ์ฉํ ํฐํธ ์ด๋ฆ
|
| 62 |
+
|
| 63 |
+
# Matplotlib ํฐํธ ์ค์
|
| 64 |
+
if system_name == "Windows":
|
| 65 |
+
font_name = "Malgun Gothic"
|
| 66 |
+
plotly_font_name = "Malgun Gothic"
|
| 67 |
+
elif system_name == "Darwin": # MacOS
|
| 68 |
+
font_name = "AppleGothic"
|
| 69 |
+
plotly_font_name = "AppleGothic"
|
| 70 |
+
elif system_name == "Linux":
|
| 71 |
+
# Linux์์ ์ ํธํ๋ ํ๊ธ ํฐํธ ๊ฒฝ๋ก ๋๋ ์ด๋ฆ ์ค์
|
| 72 |
+
font_path = "/usr/share/fonts/truetype/nanum/NanumGothic.ttf"
|
| 73 |
+
plotly_font_name_linux = "NanumGothic" # Plotly๋ ํฐํธ '์ด๋ฆ'์ ์ฃผ๋ก ์ฌ์ฉ
|
| 74 |
+
|
| 75 |
+
if os.path.exists(font_path):
|
| 76 |
+
font_name = fm.FontProperties(fname=font_path).get_name()
|
| 77 |
+
plotly_font_name = plotly_font_name_linux
|
| 78 |
+
else:
|
| 79 |
+
# ์์คํ
์์ 'Nanum' ํฌํจ ํฐํธ ์ฐพ๊ธฐ ์๋
|
| 80 |
+
try:
|
| 81 |
+
available_fonts = [f.name for f in fm.fontManager.ttflist]
|
| 82 |
+
nanum_fonts = [name for name in available_fonts if 'Nanum' in name]
|
| 83 |
+
if nanum_fonts:
|
| 84 |
+
font_name = nanum_fonts[0]
|
| 85 |
+
# Plotly์์ ์ฌ์ฉํ ์ด๋ฆ๋ ๋น์ทํ๊ฒ ์ค์ (์ ํํ ์ด๋ฆ์ ์์คํ
๋ง๋ค ๋ค๋ฅผ ์ ์์)
|
| 86 |
+
plotly_font_name = font_name if 'Nanum' in font_name else plotly_font_name_linux
|
| 87 |
+
else:
|
| 88 |
+
# ๋ค๋ฅธ OS ํฐํธ ์๋
|
| 89 |
+
if "Malgun Gothic"
|