Back to blog

A Pile of JSON Experiment Results, How to Turn It Into a Paper: MuchSci Paper Sailor’s Results Section and Figure Walkth

Introduction | After reproducing a multimodal baseline like LLaVA and running it on POPE and MMBench to produce a pile of JSON files, the truly labor-intensive part begins: generating figures, writing the results section, and organizing citations. This article explains how to finish all three in one

MuchSci Paper Search AssistantPaper

Introduction | After reproducing multimodal baselines such as LLaVA and running a pile of JSON results on POPE and MMBench, the truly labor-intensive part comes next: making figures, writing the results chapter, and organizing citations. This post explains how to get all three done in one go.

I. From “finished running” to “ready for the paper,” there are three mountains in between

StepWhy it is labor-intensiveHow Paper Sailor handles it
Making figuresHand-writing matplotlib and repeatedly adjusting column widthDirectly outputs journal-sized grouped bar SVG
Writing the results chapterDescribe each metric one by one and align it with the figuresAutomatically generates a results chapter outline based on your data
Organizing citationsHand-copying dozens of arXiv entries is highly error-proneAutomatically manages numbering + authenticity verification before submission

The common thread among these three tasks is: they are not hard, but extremely time-consuming and especially error-prone.

II. Step 1: Upload the experimental results and first generate a results chapter outline

Upload the experimental results as CSV / JSON to MuchSci Paper Sailor. It first profiles the data (field types, missing values, distributions), then automatically generates a results chapter outline based on your actual column names—which table corresponds to which description, and which metrics need to be reported one by one, all laid out clearly first.

The value of this step is that the structure of the results chapter is determined by your data, not by a template. If you ran precision and recall, it organizes the chapter around those two dimensions; if you have multiple datasets, it sections the chapter by dataset.

III. Step 2: Directly output journal-sized grouped bar SVG

Without writing plotting code, generate figures directly in Paper Sailor:

• Chart type: grouped bar (grouped_bar), etc., which is ideal for comparing models.

• Vector output: svg=true, text is editable, and it does not lose quality when enlarged.

• Journal size: figures are generated according to the target journal's column width (e.g., nature_single=89mm), so they can be pasted into the main text without re-layout.

What this step eliminates is exactly the part you least want to do—dozens of lines of matplotlib, plus repeatedly adjusting sizes to align with the column width.

IV. Step 3: Figure captions automatically bind to original Precision / Recall values

This is the easiest thing to overlook and also the place that best demonstrates professionalism: specific values are included in the figure captions.

Every value can be traced back to the dataset, and the figure captions automatically bind to the original Precision / Recall values corresponding to that figure, rather than writing a sentence like “significantly better than the baseline.”

For reviewers, the difference between these two ways of writing is: the former can be checked directly, while the latter can only leave doubt. In Paper Sailor, any value that cannot be traced is not allowed to appear in a figure caption.

V. Step 4: Automatic citation management

You need to use the same set of references both in the related work section and in the comparative analysis. Paper Sailor automatically manages the numbering of these arXiv citations, uses cite markers in the main text, generates a bib with one click, and runs authenticity verification before submission—it will neither fabricate experimental metrics nor leave behind hallucinated references.

VI. A complete walkthrough

Taking the LLaVA baseline reproduction as an example:

1. Upload results: Upload the POPE / MMBench JSON files together.

2. Automatic profiling: Confirm that the fields and values are fine.

3. Generate results chapter outline: Organize the chapter by dataset + metric.

4. Make figures: Generate grouped bar charts and export journal-sized SVG.

5. Write the results chapter: Describe each model's recall / accuracy item by item, with original values in the figure captions.

6. Manage citations: cite markers → generate bib → run authenticity verification.

7. Export: Wrap it up together with the submission materials.

VII. Common pitfalls

• Hand-writing matplotlib to make figures. Not to mention the time, the font size, line width, and column width do not align, and the rework time far exceeds the time spent writing the figure itself.

• Figure captions only say “significant improvement.” Reviewers cannot see the numbers and will only suspect you are hiding something.

• Values do not match the figures. The data went through another round of changes, but you forgot to regenerate the figures, and the captions are still old—traceable values are meant to prevent exactly this.

• Hand-copying citations. One mistake among dozens of entries may be caught by reviewers.

VIII. Conclusion

Experimental results are only a semi-finished product; only what can be written into the paper counts as an outcome. MuchSci Paper Sailor connects “generate results chapter outline → produce journal-sized vector figures → bind figure captions to original values → automatic citation management” into one pipeline, and all you need to do is hand over the JSON.

Self-check before making figures:

• Is the figure vector-based and aligned to the target journal's column width?

• Do the figure captions contain specific values, or empty words?

• Can every number be traced back to the original experimental results?

• Have the citations undergone authenticity verification?


Back to articles