wxy01giser commited on
Commit
f863d85
·
verified ·
1 Parent(s): 0b98fea

Update cluster_insight.py

Browse files
Files changed (1) hide show
  1. 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 = "SimHei, Microsoft YaHei, Arial Unicode MS, sans-serif"
 
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()}")