"""matplotlib 中文字体配置 + 统一绘图样式。"""
import os
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
from matplotlib import font_manager
CJK_CANDIDATES = [
"Microsoft YaHei", "SimHei", "SimSun", "Noto Sans CJK SC",
"Source Han Sans SC", "WenQuanYi Zen Hei",
]
_configured = False
def configure():
global _configured
if _configured:
return
available = {f.name for f in font_manager.fontManager.ttflist}
for name in CJK_CANDIDATES:
if name in available:
plt.rcParams["font.sans-serif"] = [name, "DejaVu Sans"]
break
plt.rcParams["axes.unicode_minus"] = False
_configured = True
def figures_dir():
return os.path.join(os.path.dirname(__file__), "..", "figures")
configure()
|