Spaces:
Running
Running
Update cluster_insight.py
Browse files- cluster_insight.py +17 -1
cluster_insight.py
CHANGED
|
@@ -31,10 +31,26 @@ import plotly.io as pio
|
|
| 31 |
pio.kaleido.scope.default_format = "png"
|
| 32 |
print("✅ 已设置 kaleido 为默认图片引擎")
|
| 33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
# ========== 核心配置(和之前一致) ==========
|
| 35 |
FONT_FILE_PATH = "./SourceHanSansCN-Light.otf" # 字体文件在根目录
|
| 36 |
# CHINESE_FONT = "Source Han Sans CN Light"
|
| 37 |
-
CHINESE_FONT =
|
|
|
|
| 38 |
# ========== 关键:设置环境变量,让 Plotly/Kaleido 找到字体 ==========
|
| 39 |
os.environ["KALEIDO_FONT_SEARCH_PATH"] = os.getcwd() # 字体搜索路径 = 当前目录
|
| 40 |
print(f"🔧 字体搜索路径:{os.getcwd()}")
|
|
|
|
| 31 |
pio.kaleido.scope.default_format = "png"
|
| 32 |
print("✅ 已设置 kaleido 为默认图片引擎")
|
| 33 |
|
| 34 |
+
# 在服务器端代码中,新增字体检测逻辑(放在生成 fig 之前)
|
| 35 |
+
COMPATIBLE_FONTS = [
|
| 36 |
+
"WenQuanYi Zen Hei", # Linux 首选
|
| 37 |
+
"Source Han Sans CN", # 跨平台备选
|
| 38 |
+
"SimHei" # Windows Server 备选
|
| 39 |
+
]
|
| 40 |
+
|
| 41 |
+
def get_available_font():
|
| 42 |
+
import matplotlib.font_manager as fm
|
| 43 |
+
for font in COMPATIBLE_FONTS:
|
| 44 |
+
if any(font.lower() in f.lower() for f in fm.findSystemFonts()):
|
| 45 |
+
return font
|
| 46 |
+
return "Arial" # 最后兜底(中文可能方块,但不会报错)
|
| 47 |
+
|
| 48 |
+
|
| 49 |
# ========== 核心配置(和之前一致) ==========
|
| 50 |
FONT_FILE_PATH = "./SourceHanSansCN-Light.otf" # 字体文件在根目录
|
| 51 |
# CHINESE_FONT = "Source Han Sans CN Light"
|
| 52 |
+
CHINESE_FONT = get_available_font()
|
| 53 |
+
print(f"✅ 服务器端使用字体:{CHINESE_FONT}")
|
| 54 |
# ========== 关键:设置环境变量,让 Plotly/Kaleido 找到字体 ==========
|
| 55 |
os.environ["KALEIDO_FONT_SEARCH_PATH"] = os.getcwd() # 字体搜索路径 = 当前目录
|
| 56 |
print(f"🔧 字体搜索路径:{os.getcwd()}")
|