Jason J. Simas' net.sourceforge.chart2d

Chart2D 2.0

A classic Java charting library, refreshed without losing its original layout intelligence.

Chart2D still grows charts from preferred and model sizes, expands elements proportionally as space increases, and degrades gracefully when space is constrained. The 2.0 release keeps that behavior intact while modernizing the codebase, docs, and release packaging.

50

Rendered regression images published in the gallery, including LB, LL, and Pie at launch size and 1080p.

API Preserved

The public library surface stays intact so existing applications do not need a rewrite for the 2.0 release.

Java 21 Ready

Current release artifacts, updated docs, and modernization work were validated on a modern Java toolchain.

What Stays Distinctive

Chart2D is not just a drawing toolkit. Its strongest idea is the layout engine: it measures from the inside out, uses preferred and model sizes to determine minimum viable layout, expands elements proportionally, and gracefully removes secondary detail when there is not enough room.

Responsive Before The Web Term Existed

The chart frame, axes, labels, legend, title, and data marks are treated as negotiated parts of a layout rather than fixed pixels.

Preferred Size Model Size Ratio Growth

Graceful Degradation

When space is insufficient, the library de-emphasizes or removes optional detail rather than simply overlapping, clipping unpredictably, or failing.

Legend Labels Tight Layout

Classic API, Cleaner Internals

The public API remains familiar, while the modernized release consolidates duplicated internals, refreshes documentation, and cleans up compatibility issues for current Java.

Refactored Documented Packaged

Start With The 2.0 Release

Full Release Package

Includes source, demos, tutorial, javadocs, and release notes in the classic release layout.

Released May 10, 2026

Library Jar

For projects that only need the binary artifact, the standalone jar is published directly alongside the full package.

Direct artifact access

Documentation And Validation Rules

Tutorial

The updated 2.0 tutorial covers the library structure, usage patterns, and current validation behavior.

Javadocs

Generated 2.0 API docs reflect the preserved public API and the behavior clarifications added during modernization.

Legend Validation

Enabled legends now validate false when labels are blank, while rendering still behaves defensively to avoid hard failure on bad settings.

Pie Dataset Validation

Negative pie values validate false. Rendering clamps them defensively, but the invalid configuration is still surfaced through validation.