Pycaret plot_model()不支持泰文字体问题及解决求助
解决PyCaret plot_model() 泰文字体显示异常问题
核心原因
你之前用的Tahoma字体仅支持有限的泰文字符,无法覆盖全部泰文编码,导致复杂字符显示为方块。必须使用专门的泰文黑体才能彻底解决。
分步解决方法
第一步:确认系统安装泰文支持字体
推荐安装TH Sarabun New(常用办公泰文黑体)或Angsana New:Windows/macOS可通过系统字体商店安装,Linux可通过包管理器安装(比如Ubuntu执行sudo apt install fonts-thai-tlwg)。第二步:正确配置Matplotlib全局字体
PyCaret有时会覆盖Matplotlib的默认配置,要在调用plot_model()前显式设置,确保泰文字体优先级最高:import matplotlib.pyplot as plt # 优先使用泰文黑体, fallback 到Tahoma plt.rcParams['font.family'] = 'sans-serif' plt.rcParams['font.sans-serif'] = ['TH Sarabun New', 'Angsana New', 'Tahoma'] plt.rcParams['axes.unicode_minus'] = False # 避免负号显示为方块第三步:验证字体是否被Matplotlib识别
如果配置后仍无效,先检查Matplotlib能不能找到你的泰文字体:import matplotlib.font_manager as fm # 筛选并打印泰文字体 for font in fm.fontManager.ttflist: if 'Sarabun' in font.name or 'Angsana' in font.name: print(f"找到字体: {font.name} | 路径: {font.fname}")如果没有输出,说明字体未安装或Matplotlib未加载,需要手动指定字体文件。
第四步:手动加载本地字体文件(可选)
如果系统没安装或Matplotlib识别不到,直接加载本地TTF字体文件:import matplotlib.font_manager as fm import matplotlib.pyplot as plt # 替换为你的泰文字体文件实际路径 font_path = '/home/user/fonts/THSarabunNew.ttf' fm.fontManager.addfont(font_path) # 设置全局字体 plt.rcParams['font.sans-serif'] = ['TH Sarabun New'] plt.rcParams['axes.unicode_minus'] = False第五步:强制PyCaret使用当前配置
确保在导入PyCaret模块后、调用plot_model()前执行上述字体配置代码,避免PyCaret初始化绘图环境时覆盖设置。
问题表现说明
图表中的泰文字符显示为空心方块(□),属于字体缺失导致的无法渲染状态。
内容的提问来源于stack exchange,提问作者Kendo Nextbest
相关产品推荐
相关产品推荐

