from pathlib import Path import matplotlib.pyplot as plt from matplotlib.ticker import AutoMinorLocator, MultipleLocator output = Path("grid-enable.png") weeks = ["W1", "W2", "W3", "W4", "W5", "W6"] incidents = [48, 43, 39, 41, 35, 31] fig, ax = plt.subplots(figsize=(6.2, 3.6), layout="constrained") ax.plot(weeks, incidents, marker="o", linewidth=2.2, color="tab:blue") ax.set_title("Open incidents by week") ax.set_xlabel("Week") ax.set_ylabel("Open incidents") ax.set_ylim(25, 55) ax.yaxis.set_major_locator(MultipleLocator(10)) ax.yaxis.set_minor_locator(AutoMinorLocator(2)) ax.set_axisbelow(True) ax.grid(True, axis="y", which="major", color="0.78", linewidth=0.9) ax.grid(True, axis="y", which="minor", color="0.90", linestyle=":", linewidth=0.6) fig.canvas.draw() major_y_grid = [line for line in ax.get_ygridlines() if line.get_visible()] minor_y_grid = [ tick.gridline for tick in ax.yaxis.get_minor_ticks() if tick.gridline.get_visible() ] fig.savefig(output, dpi=160) plt.close(fig) print(f"major y grid lines: {len(major_y_grid)}") print(f"minor y grid lines: {len(minor_y_grid)}") print(f"axis below data: {ax.get_axisbelow()}") print(f"saved: {output}") print(f"bytes: {output.stat().st_size}")