Skip to content

Releases: surPoudel/make-my-figure

MakeMyFigure v1.1.1

Choose a tag to compare

@surPoudel surPoudel released this 24 Sep 13:27

Make My Figure v1.1.1 — release notes

Prepared on main on 2026-09-20. The v1.1.1 tag, installers and GitHub release follow after the author's final check.

Added — plot types

  • Circos-style chord diagram (chord_diagram, make_my_figure_core/plots/chord_diagram.py):
    flows between categories that share one set, from an edge list with one row per link
    (source, target, optional numeric value, optional group). Segments are sized by total
    flow, ribbons by link value; options with explicit scopes for segment order, gap, start angle,
    ribbon colouring (source / target / group), transparency, labels (radial / tangential), total
    tick marks and the group legend (style), and for the minimum link value, directed reading
    (ribbons narrow toward the target) and self-links (config). No statistics: a chord diagram
    summarises flows. Bundled synthetic example (six cell types, compartment group), catalogue
    entry and figure, focused tests (tests/test_chord_diagram.py), and a low-confidence
    recommendation (0.55) alongside the network graph for source/target edge lists. Genomic
    multi-track Circos (ideogram coordinates, heatmap or histogram rings) is out of scope for
    this version; the ring geometry leaves room for tracks.

Added — reproducible figure packages

  • Reproducible figure packages (.mmfpackage) — one portable file that reopens a figure on
    another computer without the original data files: the PlotSpec (or FigureSpec + every panel's
    PlotSpec/StatsSpec), a frozen lossless copy of the exact table(s) the plot used (mmftable
    JSON: doubles bit-exact incl. NaN/±Inf/−0.0, missing values, strings, categories, dates), the
    original CSV/TSV/XLSX when available, the StatsSpec with results, the MatrixSpec /
    SampleMetadataSpec / PreprocessingSpec with both the original and the derived matrix, imported
    panel images, PNG/SVG/PDF previews, the software environment, and manifest.json (format
    version 1, JSON Schema schemas/figure_package_manifest.schema.json) with a SHA-256 for every
    file. Core: make_my_figure_core.package (writer, reader, assembly helpers, security scan).
  • Desktop: Open Figure Package on the landing page and File menu (Ctrl+Shift+P), Save
    Reproducible Figure Package…
    (Ctrl+Shift+S) and Save Figure Package (.mmfpackage) in the
    Export group with a privacy notice ("Figure packages include the data required to reproduce the
    figure"), content list and size estimate; packages open from drag-and-drop and Recent files
    (📦); composite packages reopen in the Figure Builder with their layout and frozen panel data;
    Figure Builder Save Figure Package…; Help tab Files & reproducibility.
  • Browser: Data source → Open Figure Package and a Figure Package download.
  • On opening a package the statistics are recomputed from the frozen data and compared with the
    stored StatsSpec, and a recorded preprocessing chain is replayed on the frozen source and
    compared with the frozen derived matrix; differences are reported, frozen values are never
    replaced.
  • Exported PlotSpecs carry source.source_table_sha256, a content digest of the plotted table;
    Open PlotSpec warns when the data it finds differ from the recorded table.
  • PreprocessingStep.user_parameters records the requested parameters so a chain can be replayed
    exactly (older records are replayed by signature filtering).

Changed

  • Export all as ZIP now contains the publication files, name.plot_spec.json,
    name.stats_spec.json (when statistics ran), name.mmfpackage and a README.
  • Desktop wording makes the three artifacts unmistakable: Export PlotSpec JSON (specification
    only)
    , Open PlotSpec… (specification only; needs the data file), Figure preset (no data),
    Figure package (frozen data + specifications).
  • Open PlotSpec accepts the {"plot_spec": …, "render_metadata": …} sidecar written by Export
    PlotSpec JSON
    (previously only the bare spec from Save PlotSpec reopened).

Security

  • Packages are untrusted input: member names are checked (no .., absolute paths, drive letters,
    backslashes, control characters), symbolic links and device entries are rejected, entry count,
    entry size, total size and compression ratio are capped, unlisted or altered files fail the
    integrity check, nothing is unpickled or executed.

Documentation

  • docs/FIGURE_PACKAGES.md; Quick Start and User Manual (Parts I §6, XV §61–63a, XVI §68, XVII
    §70, XXIII, XXIV, glossary) describe PlotSpec vs Figure preset vs Figure package and the
    eight-step "Sharing a reproducible figure" workflow; reports/portable_package_current_state.md
    (live-code audit of v1.1.0), reports/v1.1.1_manuscript_claim_audit.md,
    reports/v1.1.1_manual_acceptance_test.md.

Fixed — library compatibility

  • Figure-package tables written with pandas 3 (default str dtype) reopen with their dtype
    intact; on pandas 2 they reopen as object, which is what that pandas infers itself
    (make_my_figure_core/package/tabledata.py, test in tests/test_figure_package_integrity.py).
  • The figure-preset QC script no longer writes into read-only pandas 3 array views.

Packaging

  • Packaging: the MIT LICENSE, README.md and CHANGELOG.md are bundled at the top level of the
    desktop builds (Windows zip and installer, macOS app, Linux tar.gz/AppImage); the installer shows
    the licence; pyproject.toml declares the licence and classifiers.
  • Dependencies: bounded ranges (next major excluded) in pyproject.toml and requirements.txt, and
    a new requirements-lock.txt with the exact versions the release was tested with.

Known limitations

  • Figure packages freeze the exact table used; they are not encrypted. The export dialog states that
    the package contains the data required to reproduce the figure. Review contents before sharing.
  • The chord diagram is the general circular flow plot; genomic multi-track Circos (ideogram coordinates,
    heatmap or histogram rings) is not included.
  • Installers are unsigned (see v1.1.0 notes); Linux binaries attached here were built on Ubuntu 22.04 and need glibc 2.35 or newer.
  • Publication is a general style, not a journal template, and the statistics are not a substitute for
    statistical review.

Live counts at build time: 39 plot types, 18 statistical procedures.

Downloads

File Size SHA-256
make_my_figure_core-1.1.1-py3-none-any.whl 1.7 MB e9caff5b18cef9298695883beb18cd964255c750a3b44ce3f14025eb01009722
make_my_figure_core-1.1.1.tar.gz 1.5 MB 5fe941d82063beaa98408b15f098735bb5bc228a3c38b49d1d364eba9ffc4d07
MakeMyFigure-1.1.1-linux-x86_64.tar.gz 181.0 MB d850e93a1721e58f1b4c189980a36efea64dcb7517eb3d304cf53e16dd37a776
MakeMyFigure-1.1.1.AppImage 181.1 MB 2b175c532e68b8c9f294393c2b8443839f263b95f53a9f84c1d47ab5712cab95
MakeMyFigure_v1.1.1_Quick_Start.pdf 2.6 MB 804c5e50804ee90ba3ae2d1c5706a1e13ff4002e370f68d66e5bb51844dfa412
MakeMyFigure_v1.1.1_User_Manual.pdf 7.0 MB e241132f549a747e8eb09f5bc625ca4b99fcb34c78695291ab0d33b5282584da

Installation notes

  • Windows: run MakeMyFigure-1.1.1-Setup.exe (or unzip MakeMyFigure-1.1.1-windows.zip and start MakeMyFigure.exe).
    The app is not code-signed: Windows SmartScreen shows "unrecognized app" - choose More info -> Run anyway.
  • macOS: open MakeMyFigure-1.1.1.dmg, drag Make My Figure to Applications. Unsigned: on first launch use
    right-click -> Open, or System Settings -> Privacy & Security -> Open Anyway.
  • Linux: chmod +x MakeMyFigure-1.1.1.AppImage && ./MakeMyFigure-1.1.1.AppImage, or unpack the tar.gz and run MakeMyFigure/MakeMyFigure. Built against glibc 2.35; needs a distribution with glibc >= 2.35.
  • Python package: pip install make_my_figure_core-1.1.1-py3-none-any.whl (core renderer, no GUI); add PySide6 for the desktop app from source.
  • Verify downloads with sha256sum -c SHA256SUMS.txt.

MakeMyFigure v1.1.0

Choose a tag to compare

@surPoudel surPoudel released this 06 Sep 17:22

MakeMyFigure v1.1.0 — software release (stable). Previous stable release: v1.0.0.

Turns tabular data (CSV / TSV / XLSX) into publication-style scientific figures with a reproducible PlotSpec record. This release adds Figure presets, a histogram plot type, an independent R validation of every statistical procedure (2,625 comparisons, no failures) that found and fixed six numerical defects, export and packaging fixes, and a generated User Manual and Quick Start.

Downloads

System File
macOS MakeMyFigure-1.1.0.dmg
Windows MakeMyFigure-1.1.0-Setup.exe (also MakeMyFigure-1.1.0-windows.zip)
Linux MakeMyFigure-1.1.0-linux-x86_64.tar.gz or MakeMyFigure-1.1.0.AppImage
Python make_my_figure_core-1.1.0-py3-none-any.whl, make_my_figure_core-1.1.0.tar.gz
Manuals MakeMyFigure_v1.1.0_Quick_Start.pdf, MakeMyFigure_v1.1.0_User_Manual.pdf

Linux binaries: the tar.gz and AppImage are built on the Ubuntu 24.04 runner and need glibc 2.38 or newer (Ubuntu 24.04+, Fedora 39+, Debian 13+). On older distributions, including Ubuntu 22.04 and current WSL2 Ubuntu images, use the Python wheel or the source install instead.

SHA256SUMS.txt lists the checksum of every asset. Installers are unsigned (see the Quick Start for the first-launch steps). Release gates and test results: docs/releases/v1.1.0/release_v1.1.0_audit.md.

Assets rebuilt on 2026-09-17 (licence bundled)

The installers, wheel and source distribution were rebuilt from main at f7f1f46 so that the MIT LICENSE (with README.md and CHANGELOG.md) is included inside every download (_internal/LICENSE in the Windows, macOS and Linux bundles; License: MIT in the wheel metadata). Between the v1.1.0 tag (3da8563) and f7f1f46 the only changes are release-note commits, the packaging/dependency-bound change (#10) and the workflow option used to republish (#11); no application code changed. SHA256SUMS.txt was regenerated for the new files; the two manual PDFs are unchanged.

Changelog

Added

  • Figure presets for every plot type (presets.py; desktop Figure preset panel and
    browser expander: Apply, Save preset…, Import, Export, Delete, Reset). A preset is the
    reusable part of a PlotSpec — style mode (typography, palette, geometry, legend and
    colorbar placement, export size, visual plot options) or full mode (adds column roles,
    thresholds, labels, statistics test). It never contains the table, its name, values or
    worksheet provenance; roles a new table cannot satisfy are reported, never substituted.
    Every option now declares a scope (Option.scope), and a registry-wide QC matrix
    (reports/figure_preset_qc/) pins save → apply → export → round-trip for all 38 types.
    Figure Builder Layout presets (.mmflayout.json) carry grid, panel sizes, gutters and
    label style without panel content.
  • Histogram plot type (histogram_distribution): long or wide input (declared, not
    guessed), one panel per group or overlaid, bars and/or frequency polygon, counts /
    frequency / percent / density, cumulative option, mean/median markers, axis-range and tick
    controls. Complements the ridge/density plot, which smooths.
  • Survival curves: explicit precomputed input form for already-computed S(t) columns
    (multi-column role), validated 0/1 event indicator with a two-level recoding message,
    y_scale fraction/percent, reference line, group labels, curve style; a log-rank test is
    refused on a precomputed curve with an explanation.
  • Axis-range and tick overrides (x_min, x_max, y_ticks, ends_and_midpoint) for
    survival, histogram and forest plots. A range that would hide plotted data is refused
    rather than clipped silently. Layout x_scale / y_scale (linear | log | symlog)
    for line plots; a log axis is skipped for non-positive data.
  • Line / time-course bands: iqr and range (median-centred) in addition to SEM / SD /
    CI95; style_by mapping varies line style and marker by a second category while colour
    follows the first.
  • Oncoprint: order (frequency | input) and show_sample_labels options.
  • Box/violin: point_size; volcano: show_legend; MA plot: optional
    lfc_cutoff so significance can follow a published definition; heatmap: an explicit
    layout aspect overrides the row-count height heuristic; title_font_weight style token
    honoured by every renderer that draws a title.
  • Multi-column roles (value_columns, survival_columns) render as multi-select lists in
    both frontends; optional numeric options can be left blank ("(auto)") in the desktop app.
  • Independent R validation benchmark (benchmarks/r_validation/): every statistical test,
    correction, normalisation/transform, QC metric, PCA, clustering and differential screen
    compared with independent R implementations (base R, survival, car, rstatix, effectsize,
    MASS, dunn.test, limma, edgeR, DESeq2) on 26 seeded synthetic datasets, the bundled examples
    and a public RSEM count matrix; 2,625 comparisons, no failures; classes EXACT /
    NUMERICALLY_EQUIVALENT / ACCEPTABLE_IMPLEMENTATION_DIFFERENCE / UPSTREAM_INPUT_DIFFERENCE /
    METHOD_MISMATCH kept apart; the feature-level screen is compared with limma-voom, edgeR and
    DESeq2 as concordance only. Regression tests in tests/test_r_validation_regressions.py.
  • User Manual and Quick Start (docs/manuals/, generated Markdown, DOCX and PDF with
    screenshots from bundled example data) and a plot catalogue generated from the registry.

Changed

  • The browser app reads column roles and options from the shared ui_hints registry (its
    own copy had drifted: 19 plot types had no mapping controls).
  • Tick density follows the style's tick font even when a figure is drawn outside the style
    context (Figure Builder rasterisation); rotated multi-line category labels are joined on
    one line.
  • Exports use a tight bounding box that includes axis labels and titles, so a long axis label
    is no longer clipped.
  • Streamlit single-plot exports keep text as text (editable SVG/PDF).

Fixed

  • Six numerical defects found by the R validation: r × c Fisher's exact test used an
    unseeded Monte Carlo p-value (now seeded, 200,000 resamples, method recorded); ROC AUC and
    average precision depended on input row order for tied scores (ties collapsed to one
    operating point); quantile normalisation broke ties by sort order (now Bolstad/limma
    average-rank algorithm); voom used a library-size-scaled prior (now the voom definition);
    the Mann–Whitney effect size in the feature-level summary had the wrong sign; last-bit
    near-ties in rank tests are treated as ties.
  • Delimited-text floats are parsed correctly rounded (float_precision="round_trip"), so a
    CSV and an XLSX of the same table load to the same doubles.
  • The Publication font stack (Arial → Helvetica → DejaVu Sans) is written as a concrete,
    installed family list, so exports, Figure Builder letters/titles, re-placed legends and
    manual annotations keep the profile font instead of falling back to DejaVu Sans.
  • Style presets transfer the palette in order to plots with new categories (regression test).
  • Installed wheels ship the bundled resources (schemas, style profiles, mock data, examples)
    inside the package; pip install of a wheel could previously not render anything.
  • Five stale tests repaired: browser smoke test picker index; AppTest session-state proxy; the
    desktop grouping-dialog test used a 3-row toy matrix whose columns are (correctly) classified
    as annotations and expected groups to be guessed without pressing Guess groups, so it
    blocked on a modal warning offscreen; the PlotSpec round-trip test hard-coded a plot type
    that the benchmark had since corrected.
  • Desktop About dialog shows the real licence and repository instead of placeholders.

Validation

  • Full test suite on Linux (Qt offscreen where available); R benchmark re-run against the
    release candidate (see docs/releases/v1.1.0/release_v1.1.0_audit.md).

Documentation

  • README rewritten for v1.1.0 (native installers first; plot and statistics counts from code).
  • docs/manuals/: Quick Start and User Manual regenerated for v1.1.0.

Packaging

  • setup.py + MANIFEST.in stage resources into the wheel; pyproject.toml build extra.
  • Native installers (macOS DMG, Windows Setup.exe, Linux AppImage/tar.gz) are built on the
    GitHub Actions native runners when a version tag is pushed, with a --selftest smoke test.

Make My Figure v1.0.0

Choose a tag to compare

@surPoudel surPoudel released this 19 Jul 01:11

First stable release. Turns tabular data (CSV/TSV/XLSX) into publication-style scientific figures with one Publication style and reproducible PlotSpec/StatsSpec sidecars. No R dependency; statistics and p-values are never fabricated.

Highlights since v1.0.0-rc1

  • Multi-sheet Excel workbook browser (Desktop + Streamlit) — every worksheet selectable (notes/empty/hidden included), advisory sheet classification, worksheet-aware output names, workbook/sheet provenance.
  • Duplicate feature labels for Volcano & MA — per-point identity with all / unique / count label policies and deterministic representative selection.
  • Unified Matrix Workflow — prepares data + recommendations, then opens the same full plot editor as the normal workflow (one canonical PlotSpec, full controls, annotations, export, Figure Builder); provenance travels into the exported spec.
  • Plus the rc1 responsive cross-platform UI fixes and deterministic defaults.

See CHANGELOG.md for details.

Desktop installers

Standalone Windows / macOS / Linux builds are produced by the Build desktop releases GitHub Actions workflow (triggered by this tag) and attached to this release automatically when each per-OS job finishes.

Make My Figure v1.0.0-rc1

Choose a tag to compare

@github-actions github-actions released this 17 Jul 14:47

Automated build. Download the installer for your platform below.

Make My Figure v0.6.1

Choose a tag to compare

@github-actions github-actions released this 15 Jul 23:40

Automated build. Download the installer for your platform below.

Make My Figure v0.5.3

Choose a tag to compare

@github-actions github-actions released this 13 Jul 01:36
2867a29

Make My Figure v0.5.3

Fixes the "Define groups → heatmap" workflow for RNA-seq count matrices.

Fixed

  • "Define groups" no longer lists non-sample columns. The wide-matrix group assignment used to show every non-id column — including annotation columns like geneSymbol, bioType, annotationLevel — and auto-assign each a group. Now it offers only numeric columns as samples (text annotation columns are dropped), groups start blank (assign only your real samples; anything left blank, e.g. a numeric annotation column, is excluded), and "Auto-guess from names" is opt-in.
  • The heatmap no longer comes up blank after grouping. Grouping previously only reshaped to a long table, which collapses a heatmap to a single column. The Define-groups dialog now asks what you'll use the grouped table for:
    • Bar / box / violin (long table), or
    • Heatmap / PCA — keeps the matrix (only your assigned samples) and adds a group color strip.

Verified end-to-end on a real 12-sample / 55,000-gene RSEM matrix + metadata: 12 samples grouped, annotation columns excluded, heatmap renders the top-2,000 variable genes × 12 samples with a Ctrl/Treatment strip.

Downloads

Platform File
Windows MakeMyFigure-Setup.exe (or MakeMyFigure-windows.zip)
macOS MakeMyFigure.dmg
Linux MakeMyFigure.AppImage (or MakeMyFigure-linux.tar.gz)

Builds are unsigned. macOS: right-click → Open (or xattr -dr com.apple.quarantine /Applications/MakeMyFigure.app). The nature_like / science_like / cell_like profiles are visual aesthetics only — not official journal templates.

Make My Figure v0.5.2

Choose a tag to compare

@github-actions github-actions released this 12 Jul 18:51
cec834a

Make My Figure v0.5.2

Fixes out-of-memory crashes on large matrices and makes RNA-seq count tables work smoothly.

Fixed

  • No more out-of-memory on big matrices. Clustering builds an O(n²) distance matrix, so a large feature axis (e.g. a ~55,000-gene RSEM count table) could exhaust RAM and crash. The clustered heatmap, standalone dendrogram, and hierarchical-clustering plot now cap the feature (row) axis to the top-N most variable rows (default 2,000, set via max_features) before clustering, with a clear warning. Any rows you highlight are always kept. (A real 55k-gene file now renders in ~1s instead of crashing.)
  • RNA-seq count matrices with annotation columns. Columns like geneSymbol / bioType / annotationLevel before the samples are handled: non-numeric ones are dropped automatically, numeric-looking ones can be removed with exclude_columns, and the plot reports which columns it used as samples.
  • PCA now uses only the columns matching your metadata's sample-id column, so annotation columns are never mistaken for samples. PCA was already memory-safe at 55k genes.

Tips for count matrices

  • PCA: map metadata_key → <your SampleID column>, color → <group>; log-transform for a more meaningful plot.
  • Heatmap: it auto-caps to the top-2,000 variable genes; set exclude_columns for numeric annotation columns, scale = row z-score (or log). Pre-filter to your genes of interest for the most readable figure.

Downloads

Platform File
Windows MakeMyFigure-Setup.exe (or MakeMyFigure-windows.zip)
macOS MakeMyFigure.dmg
Linux MakeMyFigure.AppImage (or MakeMyFigure-linux.tar.gz)

Builds are unsigned. macOS: right-click → Open (or xattr -dr com.apple.quarantine /Applications/MakeMyFigure.app). The nature_like / science_like / cell_like profiles are visual aesthetics only — not official journal templates.

Make My Figure v0.5.1

Choose a tag to compare

@github-actions github-actions released this 12 Jul 16:57
b58f0f5

Make My Figure v0.5.1

Adds click-to-identify / click-to-label on the desktop app, on top of everything in v0.5.0.

New

  • On volcano and scatter plots, tick "Click a point to identify / label it" (under Labels & size), then click near a point to:
    • see its gene/sample name and coordinates in the status bar (e.g. "which gene is that blue dot at log2FC ≈ −4?"), and
    • toggle a label on it. Labels you add are saved in the PlotSpec, so they persist through export and reload; click the point again to remove it.

Notes

  • This is an interactive desktop feature — the exported SVG/PDF/PNG stays static; only the labels you add are drawn. It covers volcano and scatter; other plot types label by name (e.g. heatmap "highlight gene list"). Drag-to-reposition a label is not included.
  • Everything from v0.5.0 (37 plot types, network graph, hierarchical clustering, annotations, pop-out panels, imported external figure panels, validated statistics) is included.

Downloads

Platform File
Windows MakeMyFigure-Setup.exe (or MakeMyFigure-windows.zip)
macOS MakeMyFigure.dmg
Linux MakeMyFigure.AppImage (or MakeMyFigure-linux.tar.gz)

Builds are unsigned. macOS: right-click → Open (or xattr -dr com.apple.quarantine /Applications/MakeMyFigure.app). The nature_like / science_like / cell_like profiles are visual aesthetics only — not official journal templates.

Make My Figure v0.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Jul 14:58
eb5cfa4

Make My Figure v0.5.0

Networks, annotations, docking, clustering, and imported figure panels — with a publication-readiness QC pass in which every statistic was independently validated against scipy/statsmodels. 37 plot types.

New

  • Network graph — edge-list / adjacency-matrix / correlation-network inputs; force-directed and other layouts (reproducible seed); filtering; centrality metrics + exportable edge/node tables.
  • Hierarchical clustering — cut into k clusters with a cluster color strip and an exported cluster-assignment table; scaling + distance/linkage options.
  • Universal manual annotations — text, arrows, callouts, highlight boxes/regions, brackets, and reference lines on any plot, stored in the PlotSpec.
  • Volcano annotation controls — labels on/off, top-N / selected / pasted gene lists, arrows from displaced labels.
  • Heatmap highlighting — highlight a pasted gene/sample list, cluster color strips, scaling.
  • Pop-out / pop-in desktop panels — detach the figure, data, or controls to another monitor and dock back with state preserved.
  • Import external figure panels — assemble a multi-panel figure from existing figures on disk (R / Python / GraphPad Prism / Illustrator / BioRender / microscopy exports) alongside generated plots. Import PNG/JPG/TIFF (and PDF/SVG with an optional converter), crop/fit/rotate/border, annotate, and export — imported assets are copied and recorded in the FigureSpec for reproducibility.

Quality

  • Statistics independently validated against scipy/statsmodels (t-tests, Mann-Whitney, Wilcoxon, one/two-way ANOVA, Kruskal-Wallis, chi-square, Fisher, log-rank, correlation/regression, effect sizes, BH/Holm/Bonferroni) — all field checks pass.
  • No fabricated statistics: p-values are read verbatim; unsafe designs refuse rather than guess.
  • No breaking changes to existing plots, statistics, exports, or apps.

Notes & limitations

  • Cox HR reports an estimate + CI; the proportional-hazards assumption is not auto-checked.
  • Clustering/network views are exploratory; correlation networks show association, not mechanism.
  • No raw-count DE / R pipeline — bring a DE-result table (→ volcano) or a normalized matrix (→ heatmap/PCA).
  • The multi-panel composite rasterizes each panel, so imported PDF/SVG panels are rasterized (not kept vector); PDF/SVG import needs optional pymupdf/cairosvg. The Figure Builder (incl. imported panels) is a desktop feature.

Downloads

Platform File
Windows MakeMyFigure-Setup.exe (or MakeMyFigure-windows.zip)
macOS MakeMyFigure.dmg
Linux MakeMyFigure.AppImage (or MakeMyFigure-linux.tar.gz)

Builds are unsigned. macOS: right-click → Open (or xattr -dr com.apple.quarantine /Applications/MakeMyFigure.app). The nature_like / science_like / cell_like profiles are visual aesthetics only — not official journal templates.

Make My Figure v0.4.0

Choose a tag to compare

@github-actions github-actions released this 11 Jul 13:06
453733d

Make My Figure v0.4.0

A big expansion of the figure catalog: 18 new manuscript plot types (17 → 35), so you can build far more of a paper's figures without leaving the app. Everything runs through the same publication-ready defaults, reproducibility sidecars, and editable-text SVG/PDF export. Every new type ships a synthetic example dataset (Use example data →).

New plot types

  • Group comparison & distributions: dot / strip · beeswarm · paired dot / slopegraph · raincloud
  • Relationships & trends: dose-response (with 4-parameter fit + EC50/IC50) · spider (longitudinal per-patient change)
  • High-dimensional / omics: hierarchical clustering dendrogram · MA plot · UMAP / t-SNE embedding scatter
  • Genomics & variants: Manhattan (genome-wide + suggestive lines) · Q-Q (with genomic inflation λ)
  • Clinical & survival: swimmer plot
  • Model performance: precision-recall (AUPRC) · confusion matrix (counts / row / column / total) · calibration (with Brier score)
  • Set overlap & flow: UpSet · Sankey / alluvial (two-stage)
  • Method comparison / QC: Bland-Altman

Also

  • Existing 17 plot types, statistics annotations, grouping, and multi-panel builder are unchanged.
  • No fabricated statistics: AUPRC, accuracy, Brier score, IC50/EC50, and λ are computed only from valid inputs and otherwise omitted; differential-expression p-values are read verbatim.
  • See the in-app examples and docs/V0_4_NEW_PLOT_TYPES.md for the columns each plot needs and known limitations.

Downloads

Platform File
Windows MakeMyFigure-Setup.exe (or MakeMyFigure-windows.zip)
macOS MakeMyFigure.dmg
Linux MakeMyFigure.AppImage (or MakeMyFigure-linux.tar.gz)

Builds are unsigned. macOS: right-click → Open (or xattr -dr com.apple.quarantine /Applications/MakeMyFigure.app). The nature_like / science_like / cell_like profiles are visual aesthetics only — not official journal templates and no guarantee of journal compliance.