#!/usr/bin/env python3 """Diagrama pentru summaries/08_ANALIZA_ZILNICA/11_selectia_simbolului.md (SVG:scor). Bara ATM score 0-14, impartita in F-score 0-9 (max 9) si value-score 0-5 (max 5). Marcate: 7/14 = "galben", 12-13 = "spuma", peste 7-8 = intra in analiza. Fara semafor rosu/verde (nu e in sursa). Cifrele si etichetele vin din text: - ATM score = F-score (max 9) + value-score (max 5) = max 14 (.md:128) - 7/14 "galben" (.md:137, 81_27042026.txt:180) - 12-13 "spuma" (.md:136, 83_22042026.txt:197) - peste 7-8 "intra in analiza" (.md:135, 83_22042026.txt:195) Ruleaza: .venv/bin/python gen/selectia/scor.py -> gen/selectia/scor.svg """ from pathlib import Path OUT = Path(__file__).with_suffix(".svg") W, H = 700, 360 X0, X1 = 60, 640 ATM_MAX, F_MAX, V_MAX = 14, 9, 5 UNIT = (X1 - X0) / ATM_MAX GRAY, BLUE, ORANGE, TXT, WHITE = "#777", "#1a5fb4", "#b06000", "#000000", "#ffffff" BAR_TOP, BAR_H = 190, 46 BAR_BOT = BAR_TOP + BAR_H def x(v): return X0 + v * UNIT def text(px, py, s, size=14, fill=TXT, anchor="middle", weight="normal"): return ( f'{s}' ) def line(x1, y1, x2, y2, stroke=GRAY, width=1.5, dash=None): d = f' stroke-dasharray="{dash}"' if dash else "" return ( f'' ) def main(): p = [] p.append(f'') p.append(f'') p.append('') p.append(text(X0, 38, "ATM score: scala 0-14", 18, TXT, "start", "700")) p.append(text(X0, 66, "ATM score = F-score (max 9) + value-score (max 5) = max 14", 14, TXT, "start")) p.append('' f'' '') p.append(f'') xf = x(F_MAX) p.append(f'') p.append(line(xf, BAR_TOP, xf, BAR_BOT, WHITE, 2)) p.append(text((X0 + xf) / 2, BAR_TOP + 29, "F-score 0-9", 15, WHITE, "middle", "600")) p.append(text((xf + X1) / 2, BAR_TOP + 29, "value-score 0-5", 15, WHITE, "middle", "600")) for v in (0, 7, 9, 12, 13, 14): xx = x(v) p.append(line(xx, BAR_BOT, xx, BAR_BOT + 8)) p.append(text(xx, BAR_BOT + 28, str(v), 14, TXT)) xg = x(7) p.append(line(xg, BAR_TOP - 30, xg, BAR_TOP, GRAY, 1.5, "3 3")) p.append(text(xg, BAR_TOP - 38, "7/14 = galben", 14, TXT)) xa, xb = x(12), x(13) yl = BAR_TOP - 35 p.append(f'') p.append(text((xa + xb) / 2, yl - 8, "12-13 = spuma", 14, TXT)) xa, xb = x(7), x(8) yb = BAR_BOT + 60 p.append(f'') p.append(text((xa + xb) / 2, yb + 22, "peste 7-8: intră în analiză", 14, TXT)) p.append('') OUT.write_text("\n".join(p) + "\n", encoding="utf-8") print("scris", OUT) if __name__ == "__main__": main()