import matplotlib import shutil import os # 获取 Matplotlib 缓存目录 cache_dir = matplotlib.get_cachedir() print(f"正在清理缓存目录: {cache_dir}") # 删除缓存 if os.path.exists(cache_dir): shutil.rmtree(cache_dir) print("字体缓存已清除!请重新运行你的主程序。") else: print("未找到缓存目录。") import os import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt import matplotlib.font_manager as fm # ----------------- 强制解决中文乱码 (Mac版) ----------------- def force_chinese_font_mac(): """强制加载 macOS 系统自带的苹方或黑体""" # macOS 常见中文字体路径 font_paths = [ "/System/Library/Fonts/PingFang.ttc", # 苹方 (现代 macOS 默认中文字体) "/System/Library/Fonts/STHeiti Light.ttc", # 华文黑体 "/System/Library/Fonts/STHeiti Medium.ttc", # 华文黑体 (中等粗细) "/System/Library/Fonts/Supplemental/Songti.ttc", # 宋体 (部分较新 macOS 系统的路径) "/Library/Fonts/Arial Unicode.ttf" # 包含中文的通用字体 ] font_loaded = False for path in font_paths: if os.path.exists(path): try: # 强制将字体加入 Matplotlib 的内存库 fm.fontManager.addfont(path) # 获取该字体在 matplotlib 内部的真实名称 prop = fm.FontProperties(fname=path) plt.rcParams['font.family'] = prop.get_name() font_loaded = True print(f"已成功加载 Mac 系统字体: {path}") break # 加载成功一个就跳出 except Exception as e: print(f"尝试加载字体 {path} 失败: {e}") continue if not font_loaded: print("警告: 未在 macOS 默认路径找到中文字体文件。") # 解决负号 '-' 显示为方块的问题 plt.rcParams['axes.unicode_minus'] = False # 立即执行字体加载 force_chinese_font_mac() # ----------------------------------------------------