from pathlib import Path import matplotlib from matplotlib import font_manager import matplotlib.pyplot as plt plt.rcParams.update( { "font.family": ["DejaVu Serif", "serif"], "font.size": 12, "axes.titlesize": 15, "axes.labelsize": 12, "xtick.labelsize": 10, "ytick.labelsize": 10, } ) requested_family = plt.rcParams["font.family"] resolved_font = font_manager.findfont( font_manager.FontProperties(family=requested_family), fallback_to_default=False, ) quarters = ["Q1", "Q2", "Q3", "Q4"] satisfaction = [82, 86, 88, 91] fig, ax = plt.subplots(figsize=(6.4, 3.8), layout="constrained") ax.plot(quarters, satisfaction, marker="o", linewidth=2.2, color="#3E6C9A") title = ax.set_title("Customer satisfaction trend", fontweight="bold") xlabel = ax.set_xlabel("Quarter") ylabel = ax.set_ylabel("Score") ax.grid(True, axis="y", alpha=0.25) output = Path("font-configure.png") fig.savefig(output, dpi=160) plt.close(fig) print(f"matplotlib {matplotlib.__version__} ({matplotlib.get_backend()} backend)") print(f"font family: {requested_family}") print(f"resolved font: {Path(resolved_font).name}") print(f"title font: {title.get_fontfamily()} {title.get_fontsize():.0f} pt") print(f"x label font: {xlabel.get_fontfamily()} {xlabel.get_fontsize():.0f} pt") print(f"y label font: {ylabel.get_fontfamily()} {ylabel.get_fontsize():.0f} pt") print(f"saved: {output}") print(f"bytes: {output.stat().st_size}")