Fig. 1A: double the icon size (56 px placed; taller header row to fit)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
This commit is contained in:
Giorgio Gilestro 2026-09-07 13:41:38 +01:00
parent 438931d67b
commit 40ad268c6d
3 changed files with 6 additions and 6 deletions

Binary file not shown.

Binary file not shown.

View file

@ -125,20 +125,20 @@ def fig1a():
for j2, (name, arch, guarantee, edge, face, headfill, textcol, icon) in enumerate(TIERS): for j2, (name, arch, guarantee, edge, face, headfill, textcol, icon) in enumerate(TIERS):
x = xs[j2] x = xs[j2]
xc = x + cw / 2 - 0.02 # text centred left of the icon slot xc = x + cw / 2 - 0.02 # text centred left of the icon slot
ax.add_patch(FancyBboxPatch((x + gap, 0.825), cw - 2 * gap, 0.155, ax.add_patch(FancyBboxPatch((x + gap, 0.825), cw - 2 * gap, 0.170,
boxstyle="round,pad=0.004", fc=headfill, ec=edge, lw=1.6)) boxstyle="round,pad=0.004", fc=headfill, ec=edge, lw=1.6))
ax.text(xc, 0.966, name, ha="center", va="top", fontsize=9.5, ax.text(xc, 0.988, name, ha="center", va="top", fontsize=9.5,
fontweight="bold", color=textcol) fontweight="bold", color=textcol)
ax.text(x + cw / 2 - 0.026, 0.922, arch, ha="center", va="top", fontsize=6.6, ax.text(x + cw / 2 - 0.030, 0.938, arch, ha="center", va="top", fontsize=6.6,
linespacing=1.3, color=textcol) linespacing=1.3, color=textcol)
ax.text(xc, 0.833, guarantee, ha="center", va="bottom", fontsize=6.4, ax.text(x + cw / 2 - 0.030, 0.831, guarantee, ha="center", va="bottom", fontsize=6.4,
style="italic", color=textcol, alpha=0.85) style="italic", color=textcol, alpha=0.85)
# Reason: imshow + interpolation="none" embeds the icon unsampled in the PDF (an # Reason: imshow + interpolation="none" embeds the icon unsampled in the PDF (an
# OffsetImage is always composited at figure dpi, i.e. ~39 px, whatever the source). # OffsetImage is always composited at figure dpi, i.e. ~39 px, whatever the source).
img = _icon(icon) img = _icon(icon)
iw = 28.0 / 1140.0 # 28 display px on an 11.4in/100dpi fig iw = 56.0 / 1140.0 # 56 display px on an 11.4in/100dpi fig
ih = iw * 11.4 / 5.3 ih = iw * 11.4 / 5.3
icx, icy = x + cw - gap - 0.024, 0.902 icx, icy = x + cw - gap - 0.030, 0.906
ax.imshow(img, extent=(icx - iw / 2, icx + iw / 2, icy - ih / 2, icy + ih / 2), ax.imshow(img, extent=(icx - iw / 2, icx + iw / 2, icy - ih / 2, icy + ih / 2),
interpolation="none", aspect="auto", zorder=5) interpolation="none", aspect="auto", zorder=5)
ax.set_xlim(0, 1) ax.set_xlim(0, 1)