zcahjl3 commited on
Commit
4be97c0
·
verified ·
1 Parent(s): 6a6928b

Switch to Gradio app for direct external viewing

Browse files
02_network_Chart2Code_level2_combination_3_v1/augmented.pdf CHANGED
Binary files a/02_network_Chart2Code_level2_combination_3_v1/augmented.pdf and b/02_network_Chart2Code_level2_combination_3_v1/augmented.pdf differ
 
02_network_Chart2Code_level2_combination_3_v1/augmented.png CHANGED

Git LFS Details

  • SHA256: 888c2ee30570466b0a10ea24145d5f00a0b8ddd70fa4920dc45ad47219e85c20
  • Pointer size: 130 Bytes
  • Size of remote file: 82.2 kB
02_network_Chart2Code_level2_combination_3_v1/augmented_render.png CHANGED

Git LFS Details

  • SHA256: a0b409e9f95d70cb758857a39556af6a30966d284a5c457d5ce146de19b52712
  • Pointer size: 130 Bytes
  • Size of remote file: 59.7 kB
02_network_Chart2Code_level2_combination_3_v1/img_iter1.png CHANGED

Git LFS Details

  • SHA256: a0b409e9f95d70cb758857a39556af6a30966d284a5c457d5ce146de19b52712
  • Pointer size: 130 Bytes
  • Size of remote file: 59.7 kB
02_network_Chart2Code_level2_combination_3_v1/original.png CHANGED

Git LFS Details

  • SHA256: 8128ab250997e0dda6815a64f9ccb06fc4083aab44f5b665e01f9ab29d7e3f93
  • Pointer size: 130 Bytes
  • Size of remote file: 92.6 kB
03_surface3d_ChartNet-sample_2394253dc8502926/augmented.pdf CHANGED
Binary files a/03_surface3d_ChartNet-sample_2394253dc8502926/augmented.pdf and b/03_surface3d_ChartNet-sample_2394253dc8502926/augmented.pdf differ
 
04_box_Chart2NCode_0e7b573addd14f83aad26cf57f08876f/augmented.pdf CHANGED
Binary files a/04_box_Chart2NCode_0e7b573addd14f83aad26cf57f08876f/augmented.pdf and b/04_box_Chart2NCode_0e7b573addd14f83aad26cf57f08876f/augmented.pdf differ
 
04_box_Chart2NCode_0e7b573addd14f83aad26cf57f08876f/augmented_render.png CHANGED

Git LFS Details

  • SHA256: 4ddfeb78307ca89ed5ee84d006ed6855169f398eb8740298f578b1a87793f1be
  • Pointer size: 130 Bytes
  • Size of remote file: 77.4 kB
04_box_Chart2NCode_0e7b573addd14f83aad26cf57f08876f/img_iter1.png CHANGED

Git LFS Details

  • SHA256: 4ddfeb78307ca89ed5ee84d006ed6855169f398eb8740298f578b1a87793f1be
  • Pointer size: 130 Bytes
  • Size of remote file: 77.4 kB
04_box_Chart2NCode_0e7b573addd14f83aad26cf57f08876f/original_render.png CHANGED

Git LFS Details

  • SHA256: af4d5e50e4c22f6c01f788d064dca78851abf14e0211140cf17d8909a869239e
  • Pointer size: 130 Bytes
  • Size of remote file: 96.2 kB
06_radar_Chart2NCode_c372e9e299c44a6fa0506a700b87f9db/augmented.pdf CHANGED
Binary files a/06_radar_Chart2NCode_c372e9e299c44a6fa0506a700b87f9db/augmented.pdf and b/06_radar_Chart2NCode_c372e9e299c44a6fa0506a700b87f9db/augmented.pdf differ
 
07_violin_Chart2NCode_824d88ec85314c6ea8378d9e2e62e046/augmented.pdf CHANGED
Binary files a/07_violin_Chart2NCode_824d88ec85314c6ea8378d9e2e62e046/augmented.pdf and b/07_violin_Chart2NCode_824d88ec85314c6ea8378d9e2e62e046/augmented.pdf differ
 
08_tilemap_ChartNet-sample_15e07f5f51b5f852/augmented.pdf CHANGED
Binary files a/08_tilemap_ChartNet-sample_15e07f5f51b5f852/augmented.pdf and b/08_tilemap_ChartNet-sample_15e07f5f51b5f852/augmented.pdf differ
 
09_area_Chart2Code_level2_area_4_v5/augmented.pdf CHANGED
Binary files a/09_area_Chart2Code_level2_area_4_v5/augmented.pdf and b/09_area_Chart2Code_level2_area_4_v5/augmented.pdf differ
 
10_bar_Chart2NCode_0855bef1c82c44309116cd241d54254c/augmented.pdf CHANGED
Binary files a/10_bar_Chart2NCode_0855bef1c82c44309116cd241d54254c/augmented.pdf and b/10_bar_Chart2NCode_0855bef1c82c44309116cd241d54254c/augmented.pdf differ
 
10_bar_Chart2NCode_0855bef1c82c44309116cd241d54254c/augmented.png CHANGED

Git LFS Details

  • SHA256: 2f18cdca7c043aea90cb4a8d4540f58d921d9541a084f871301139402e9ae3bd
  • Pointer size: 130 Bytes
  • Size of remote file: 84.6 kB
10_bar_Chart2NCode_0855bef1c82c44309116cd241d54254c/augmented_render.png CHANGED

Git LFS Details

  • SHA256: ee4daa1afa0f4e045f70a3ea3579016f636cd854d7b0c094f7f0f952fa13f7aa
  • Pointer size: 130 Bytes
  • Size of remote file: 61.3 kB
10_bar_Chart2NCode_0855bef1c82c44309116cd241d54254c/img_iter1.png CHANGED

Git LFS Details

  • SHA256: ee4daa1afa0f4e045f70a3ea3579016f636cd854d7b0c094f7f0f952fa13f7aa
  • Pointer size: 130 Bytes
  • Size of remote file: 61.3 kB
10_bar_Chart2NCode_0855bef1c82c44309116cd241d54254c/original_render.png CHANGED

Git LFS Details

  • SHA256: d41e9424232bd834d7907398c1ff8899cd66d2613c4db75484ec2b64cb2c3580
  • Pointer size: 130 Bytes
  • Size of remote file: 90.7 kB
README.md CHANGED
@@ -1,9 +1,10 @@
1
  ---
2
  title: FigMirror Code Augmentation 10 Cases
3
- emoji: 📊
4
  colorFrom: green
5
  colorTo: gray
6
- sdk: static
 
 
7
  pinned: false
8
  license: mit
9
  ---
@@ -14,5 +15,3 @@ Each case compares two code-generated figures:
14
 
15
  - left: fresh render from unchanged `original.py`
16
  - right: fresh render from `augmented.py`, preserving the same data/chart topology while applying FigMirror-style presentation improvements
17
-
18
- Open `index.html` in the Space app view.
 
1
  ---
2
  title: FigMirror Code Augmentation 10 Cases
 
3
  colorFrom: green
4
  colorTo: gray
5
+ sdk: gradio
6
+ sdk_version: 5.33.0
7
+ app_file: app.py
8
  pinned: false
9
  license: mit
10
  ---
 
15
 
16
  - left: fresh render from unchanged `original.py`
17
  - right: fresh render from `augmented.py`, preserving the same data/chart topology while applying FigMirror-style presentation improvements
 
 
app.py ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from __future__ import annotations
2
+
3
+ import base64
4
+ from pathlib import Path
5
+ import html
6
+ import gradio as gr
7
+
8
+ ROOT = Path(__file__).resolve().parent
9
+ REPO = "https://huggingface.co/spaces/zcahjl3/figmirror-code-aug10"
10
+
11
+ CSS = """
12
+ <style>
13
+ body { margin: 0; }
14
+ .fm-wrap { font-family: Arial, sans-serif; color: #172033; background: #f5f6f8; padding: 0 0 28px; }
15
+ .fm-header { background: #fff; border-bottom: 1px solid #d9dee7; padding: 22px 28px; }
16
+ .fm-header h1 { margin: 0 0 8px; font-size: 25px; line-height: 1.2; }
17
+ .fm-header p { margin: 0; color: #667085; font-size: 13px; line-height: 1.45; max-width: 1050px; }
18
+ .fm-main { padding: 20px 28px; display: grid; gap: 18px; }
19
+ .fm-card { background: #fff; border: 1px solid #d9dee7; border-radius: 8px; padding: 14px; }
20
+ .fm-card h2 { margin: 0 0 10px; font-size: 15px; }
21
+ .fm-card img { width: 100%; max-height: 720px; object-fit: contain; display: block; border: 1px solid #e5e7eb; background: #fff; }
22
+ .fm-card p { margin: 8px 0; color: #667085; font-size: 12px; line-height: 1.45; }
23
+ .fm-links { display: flex; flex-wrap: wrap; gap: 8px 14px; }
24
+ .fm-links a { color: #0b61a4; text-decoration: none; font-size: 12px; }
25
+ .fm-links a:hover { text-decoration: underline; }
26
+ code { background: #f2f4f7; padding: 1px 4px; border-radius: 4px; }
27
+ </style>
28
+ """
29
+
30
+
31
+ def image_data(path: Path) -> str:
32
+ data = base64.b64encode(path.read_bytes()).decode("ascii")
33
+ return f"data:image/png;base64,{data}"
34
+
35
+
36
+ def rel_url(slug: str, filename: str) -> str:
37
+ return f"{REPO}/resolve/main/{slug}/{filename}"
38
+
39
+
40
+ def build_html() -> str:
41
+ cases = sorted(p for p in ROOT.iterdir() if p.is_dir() and (p / "comparison.png").exists())
42
+ cards = []
43
+ for case in cases:
44
+ slug = case.name
45
+ parts = slug.split("_", 2)
46
+ chart_type = html.escape(parts[1] if len(parts) > 1 else slug)
47
+ label = html.escape(parts[2] if len(parts) > 2 else slug)
48
+ img = image_data(case / "comparison.png")
49
+ cards.append(f"""
50
+ <article class="fm-card">
51
+ <h2>{chart_type} &middot; {label}</h2>
52
+ <img src="{img}" alt="Original code render versus data-preserving FigMirror code augmentation">
53
+ <p>Both sides are generated from code. Left: unchanged <code>original.py</code>. Right: <code>augmented.py</code>, preserving the same data and chart topology while improving figure aesthetics.</p>
54
+ <p class="fm-links">
55
+ <a href="{rel_url(slug, 'original_render.png')}" target="_blank">original render</a>
56
+ <a href="{rel_url(slug, 'original.py')}" target="_blank">original code</a>
57
+ <a href="{rel_url(slug, 'augmented_render.png')}" target="_blank">augmented render</a>
58
+ <a href="{rel_url(slug, 'augmented.py')}" target="_blank">augmented code</a>
59
+ <a href="{rel_url(slug, 'comparison.png')}" target="_blank">comparison PNG</a>
60
+ </p>
61
+ </article>""")
62
+ return CSS + f"""
63
+ <div class="fm-wrap">
64
+ <header class="fm-header">
65
+ <h1>FigMirror Data-Preserving Code Augmentation - 10 Cases</h1>
66
+ <p>Each case compares two code-generated images. The right-hand figure is not a new task: it keeps the original data, labels, chart type/topology, and analytical relation, then applies FigMirror presentation improvements.</p>
67
+ </header>
68
+ <main class="fm-main">{''.join(cards)}</main>
69
+ </div>"""
70
+
71
+ with gr.Blocks(title="FigMirror Code Augmentation") as demo:
72
+ gr.HTML(build_html())
73
+
74
+ if __name__ == "__main__":
75
+ demo.launch()