README.md
May 6, 2026 · View on GitHub
paper_quality_plot.matlab
The actual MATLAB plotting code Hyungtae Lim has used across his published papers.
All materials are from Urban Robotics Lab. @KAIST · Author: Hyungtae Lim (shapelim@kaist.ac.kr)
(01.09.25) I have now given up on sticking solely to MATLAB (still prefer MATLAB though). SciencePlots is truly an excellent tool.
:rocket: Introduction
This repositoy contains
- how to use linespecer for beautiful matlab graph
-
how to set legend interpreter as latex
-
the method for removing unnecessary white space
-
the method for changing the default tick fonts to the latex version
-
tilelayout (Only applicable on latest version Matlab)
-
thousand seperator
All outputs are located in imgs folder.
:hammer: Must be added for the Paper-quality Figures
:point_right: Add set(gca,'LooseInset', max(get(gca,'TightInset'), 0.02)) below the figure declaration line.
:point_right: Add set(groot, 'defaultAxesTickLabelInterpreter','latex'); below the figure declaration line.
:point_right: Add ytickformat('%,4.4g'); after plot( ) command (optional).
The template is available on here
:warning: When it comes to saving figures in eps...
ENG) I realized that some matlab figures (e.g., bar plot, tiles, or 3D plot) can not be saved in the vector format even though the file format is saved into .eps.
So, we must use below command as follows:
% gcf: figure object
% -r${NUM}: The larger, the higher resolution
print(gcf, "SET_YOUR_FINENAME.png",'-dpng','-r300');
KOR) Matlab에서 원래 eps로 저장하면 자동으로 그림이 vector format으로 변경되어야 하는데, 그렇지 않은 경우가 있습니다.
그럴 경우에는 아래와 같이 dpi를 조정하여 png로 논문에 넣을 수 밖에 없습니다.
% gcf: figure object
% -r${NUM}: The larger, the higher resolution
print(gcf, "SET_YOUR_FINENAME.png",'-dpng','-r300');
:art: Visualization Gallery
A compact map of representative outputs in imgs/. Click any preview or script name to open the MATLAB source.
This section is generated by scripts/update_readme.py and checked by CI.
![]() B-mIoU vs pixel threshold Line graph linegraph_biou_pxthr.m
|
![]() Caros flight data Line graph linegraph_caros.m
|
![]() ERASOR ground threshold Line graph linegraph_erasor_ground.m
|
![]() Hydra2.0 PR-curve Line graph linegraph_hydra_pr.m
|
![]() VGGT confidence sweep Line graph linegraph_vggt.m
|
![]() DeepLabv3 / HRNet / OCRNet / UPerNet Horizontal bar horizontal_bars_deeplabv3.m
|
![]() B-mIoU per pixel threshold Horizontal bar horizontal_bars_hrnet.m
|
![]() GPF vs R-GPF precision Vertical bar barplot_gpf_precision.m
|
![]() Max-clique inlier counts Vertical bar barplot_maxclique.m
|
![]() Quatro runtime breakdown Vertical bar barplot_quatro_runtime.m
|
![]() Success rate across methods Vertical bar barplot_success_rate.m
|
![]() AOA / SSA error Box plot boxplot_aoa_ssa.m
|
![]() Method runtime Box plot boxplot_runtime.m
|
![]() Alpha / beta angle CDFs CDF cdf_angles.m
|
![]() Chamfer-distance CDF CDF cdf_chamfer.m
|
![]() ERASOR scan-ratio pdf_erasor_scan_ratio.m
|
![]() PR + F1-vs-threshold PR curve prcurve_hydra.m
|
![]() 3D UTM with colour gradient Trajectory trajectory_3d_utm.m
|
![]() VBR dataset trajectories Trajectory trajectory_vbr.m
|
![]() TIMS weights heatmap Scatter with heatmap scatter_heatmap_weights.m
|
![]() PaSGA ring/sector ablation Tilelayout tilelayout_pasga.m
|
![]() Xavier per-stage time Stacked area area_xavier_time.m
|
Script index
Output collisions: these scripts intentionally write the same filenames as a primary script above.
linegraph_biou_masking.muses the same output filenames aslinegraph_biou_pxthr.m.linegraph_hydra_sam3d.muses the same output filenames aslinegraph_hydra_pr.m.
:page_facing_up: Notes
Linespecer comparison
cdf_angles.m is the clearest example of why this repository uses linspecer: the same CDFs become easier to distinguish once the color set is changed.
| Before | After |
|---|---|
![]() |
![]() |
![]() |
![]() |
Please refer to the % --- Colors --- block in cdf_angles.m.
Implementation notes
| Topic | Note |
|---|---|
| PDF estimation | pdf_erasor_scan_ratio.m uses a manual PDF calculation because MATLAB's built-in PDF behavior can be unreliable for this use case. |
| 3D trajectory | trajectory_3d_utm.m colors the trajectory by sequence length; very long trajectories may need a lighter representation. |
| Runtime box plot | boxplot_runtime.m depends on multiple_boxplot_time.m. |
| MATLAB version | barplot_gpf_precision.m and tilelayout_pasga.m are intended for R2020a or newer. |
























