Skip to content

History / Home

Revisions

  • Document 1.22.0: series that share one colour, Raincloud, Horizon Home, Roadmap (table + per-row sections) and the sidebar now name 1.22.0 as current; three roadmap rows move from Later to Done. The Examples page gets a 1.22.0 section with real rendered charts for the Kaplan-Meier confidence band, Raincloud and Horizon, plus three images the 1.21.0 section never had (treemap, streaming line, 3-D scatter), closing a gap where that section proved its JSON round-trips with console output alone.

    @xkqg xkqg committed Oct 24, 2026
  • docs: 1.21.0 - Home, Examples and the sidebar name it the current release Home.md names 1.21.0 current and demotes the 1.20.0 paragraph to the slot after it. Examples.md gets a new section with three compiled round-trip examples (a treemap's tree, a streaming line's points, an axes' Z axis, pane colours and tooltip switch) and a table row; the sidebar version follows.

    @xkqg xkqg committed Oct 23, 2026
  • docs: 1.20.0 - Examples for the one-call charts and the fixes, the Roadmap rows this release measured, pages that say what the code does Examples opens with the 1.20.0 section (every new verb with a compiling example and the result in words); Chart-Types, Fluent-Cheatsheet, Home, Styling, Package-Map and MCP-Server say what the verbs, the JSON, dpi, log axes, category ticks and the missing-value rule do now; Roadmap lists what is done and every gap the release measured as a row still to come; Home states what the gate measured.

    @xkqg xkqg committed Oct 22, 2026
  • docs: every C# block compiles against the packages as built; Examples and Roadmap pages for 1.19.0; direct labels and axis colours; stale claims corrected The wiki suite compiles the pages: 195 programs compile, 190 of 192 did not before. Unclosed fences in Styling are closed. Examples.md opens with 1.19.0 and its pictures; Roadmap.md lists what is done and what is still to come, with the reason for each; the pages say what WithDpi, SaveOptions, the MAUI view and the 3-D light do today.

    @xkqg xkqg committed Oct 21, 2026
  • docs: 1.18.2 — timeline gestures, pan on auto-scaled axes, shared X, and the WPF timeline example Home and sidebar name 1.18.2 and keep the three newest releases; Interactive-Controls says what a drag and the wheel do on a timeline and on axes linked by ShareX; the Fluent cheatsheet notes that a reference line can be moved.

    @xkqg xkqg committed Oct 18, 2026
  • Home and sidebar name 1.18.1, and the narrative keeps the three newest

    @xkqg xkqg committed Oct 12, 2026
  • The wiki has a Verso page, and Notebooks points at it Verso is the open-source notebook that replaces Polyglot Notebooks, and MatPlotLibNet.Verso is the extension that draws this library's charts in one of its cells. The new page says what a cell looks like, what happens to a chart taller than the cell, what a failed render shows, and why the package carries the extension and nothing else. Notebooks now names Verso as the replacement for notebook work and MatPlotLibNet.Interactive for a chart outside one, and says the package is frozen rather than merely unmaintained. The Package Map gains its section, the sidebar its entry, and the front page announces 1.18.0.

    @xkqg xkqg committed Sep 23, 2026
  • The wiki announces 1.17.1 as the current release The banner and the sidebar still said 1.17.0 while the packages carry 1.17.1. The opening paragraph now says what the patch brought. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @xkqg xkqg committed Sep 13, 2026
  • Both entry pages point at the matplotlib translation table Someone who knows pyplot lands on Home or the cheatsheet; from there the page that maps their calls one for one was not reachable. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @xkqg xkqg committed Sep 13, 2026
  • The dashboard has a topology panel, and the click reaches the server AddTopology is on the control-room page and on the front page: a service map beside the tiles, between the timelines and the trend. The bidirectional SignalR page carries the third handler. A chart whose figure lives on the server now reports a clicked data point to OnDataCursor, opted into with EnableDataCursor on the figure. It is the brush-select shape: the handler is told, nothing is re-rendered and nothing is broadcast, because a click asks about the data rather than changing it. A click from the browser names the series exactly, read off the group the marker is drawn in; a native control reports the exact data point instead, because it runs the nearest-point search itself. The cheatsheet has GroupedBar and DensityScatter. Measured again at the gate: 706 classes at 99.6 % line and 97.5 % branch, across 11,757 tests. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @xkqg xkqg committed Sep 12, 2026
  • Bring the wiki up to date with 1.17.1 The clicked data point is on the interactive controls page, in the gesture table and with its own section: the WPF, Avalonia and Uno controls raise DataPointClicked with the point the reader clicked. The MCP page carries the two changes to that server: what each tool tells a host it does to the machine, and the structured values chart_data_table now returns beside its markdown. The styling page has the three Petroff accessible colour sequences in a family of their own, and the count they change: 74 base maps, 148 registered names. The accessibility page points at them for a chart with more than eight things on it. The package map warns about MatPlotLibNet.Notebooks the way the Notebooks page already did. Corrected while passing: the interactive controls page said thirteen NuGet packages where there are fourteen, and the front page said 53 indicators where the assembly ships 58. The quality bar is measured again: 705 classes at 99.6 % line and 97.5 % branch, across 11,700 tests. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @xkqg xkqg committed Sep 12, 2026
  • Rewrite every page in plain language, and add the International Text page The wiki now says what the library does in short sentences instead of aphorisms. Every identifier, number, link and code block is preserved; each page was checked against its previous version. International Text is new: how Arabic and Hebrew draw with the bundled font, how SkiaFonts.Register adds a font file for other scripts, and what changed for Latin text now that it is kerned. Two pages, Advanced and MatplotlibThemes, ended with literal </content> and </invoke> lines left behind by an old tool run. Those are gone. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @xkqg xkqg committed Sep 12, 2026
  • Set the wiki version banner to 1.16.0 Home.md and _Sidebar.md still announced 1.15.1 while every content page had already been updated for the data table, so the wiki named the wrong current release. Home now leads with 1.16.0 (ToDataTables across the four hosts, plus the streaming-snapshot fix) and demotes the MCP server to "1.15 before it".

    @xkqg xkqg committed Sep 12, 2026
  • A chart can be read, not only seen The Accessibility page led with ARIA and ended with contrast, and it said the aria-label on each series group names that series to a screen reader. It does not: the root carries role="img", and WAI-ARIA's children-presentational rule makes the whole SVG one node, so those labels are never announced. The page now says so, and leads with what does carry the information — figure.ToDataTables(), the data table beside the picture, with what is in it, where to put it in each host, and where it stops. MCP-Server and Package-Map gained the fifth tool, chart_data_table, and Package-Map's GraphQL rows now name the fields the schema actually has (chartSvg / chartDataTable / chartJson, onChartSvgUpdated) instead of a shape that never existed.

    @xkqg xkqg committed Sep 12, 2026
  • 1.15.1 is the current release, and the server is in the registry

    @xkqg xkqg committed Sep 12, 2026
  • 1.15.0 is the current release

    @xkqg xkqg committed Sep 11, 2026
  • Newest version first: 1.15.0 leads, 1.14.4 follows as the current release

    @xkqg xkqg committed Sep 11, 2026
  • The wiki says what is released and what is coming

    @xkqg xkqg committed Sep 11, 2026
  • The install table, the package count and the publish note learn about the MCP server

    @xkqg xkqg committed Sep 11, 2026
  • MCP server: the wiki gets its page, the map gets its package

    @xkqg xkqg committed Sep 11, 2026
  • The count is 83, and a test now keeps it honest Every page said 82 series types; the assembly ships 83. SeriesCountContractTests reads the number off the assembly by reflection and pins it, so a new series turns a test red instead of leaving this line quietly wrong. The old phrasing also counted Streaming twice -- 82 across 14 categories PLUS 4 streaming, while Streaming IS one of the 14. It now reads 83 across 14 categories, four of them streaming.

    @xkqg xkqg committed Sep 2, 2026
  • Wiki: the gaps the links and the series list actually showed Measured rather than guessed, on three surfaces. Every [[link]] against the pages that exist: one broken, and it was broken for a reason worth remembering -- GitHub drops the dot, so "## MatPlotLibNet.Interactive" anchors as #matplotlibnetinteractive and never as #matplotlibnet-interactive. Every page against the sidebar: MatPlotLibNet (the core-package overview) was reachable from nowhere, and now sits under Package Map. Every series type the library ships against the text: exactly one chart had no page at all. Added: Tree grid. Indented rows with right-aligned numeric columns, and the reason it stands BESIDE the treemap rather than instead of it -- a treemap answers who is big and stops there, and two lanes of twenty-three carrying every message is two rectangles and twenty-one slivers as area, but a column of numbers you can compare exactly as rows. Composition in the map, comparison in the grid. The caller owns the flattening, a row's Url makes expanding a subtree a URL rather than a script, and Depth becomes aria-level so the grid is navigable and not merely visible. Added: the runnable control room. The section described the API and never said how to see it move; it now names MatPlotLibNet.Samples.ControlRoom and the descent -- fleet to bus to process to lanes, the rail that keeps the level you left, the two gestures (a block drills DOWN, the strip's max drills THROUGH to the member that produced it), one fixed block size at every level, lanes as rows because they answer a different question, and the whole state in the URL. Version 1.14.3 to 1.14.4 in the sidebar and on Home, with what 1.14.4 brought. Left alone deliberately: the "82 series types" claim. Counting concrete non-abstract series classes across Src gives 84, of which 4 are streaming and 1 is Geo -- the two counts use different rules, and I am not going to publish a number whose definition I would be inventing. Checks after: every link resolves, every anchor resolves, no orphan pages, no dates. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @xkqg xkqg committed Sep 2, 2026
  • Wiki: shorter, current, and the control room gets its place The pages were walls of text and a release behind. Front page rebuilt around "where do I find what"; Roadmap collapsed from 903 lines of release archive to the current cadence plus a pointer to the CHANGELOG; Benchmarks reduced to the numbers that still hold. Every calendar date removed - the version numbers are the timeline; dates that are example DATA stay. Facts corrected against the source: 82 series types, 30 themes, 142 colormaps (71 base maps, each auto-reversed), 10,025 tests, 659 classes at >=90/90. The control room is documented for the first time: a rendered screen, the code that produced it, what each tile property does (Target, Caption, Trend, Hatch, Format's zero section for "no signal"), thresholds on a chart, and the alarm palette + operator themes in Styling. The 1.14 line is named for what it is - work around that screen. Sidebar now lists every page.

    @xkqg xkqg committed Aug 30, 2026
  • v1.11.2: RRG overlay docs + version bump (encoding fixed) - Home.md: v1.11.2 banner, 79 series, 53 indicators, pair-selection category - Chart-Types.md: v1.11.2 header, 79/14 categories, new RRG section - Fluent-Cheatsheet.md: Pair-selection row - RelativeRotationSeries.md: AbsorptionRatioPerBar + EnbPerBar overlay docs - All files: correct UTF-8 encoding (no BOM, no CP1252 corruption) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

    @xkqg xkqg committed May 16, 2026
  • v1.11.2: RRG overlay docs + version bump throughout wiki - RelativeRotationSeries.md: AbsorptionRatioPerBar + EnbPerBar properties, overlay mode section with visual encoding table and code example - Chart-Types.md: new RRG section, version header 1.11.2, 79 series / 14 categories - Fluent-Cheatsheet.md: Pair-selection row in series family table - Home.md: v1.11.2 banner, series count 79, indicator count 53 - All pages: 1.11.1 → 1.11.2 throughout Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

    @xkqg xkqg committed May 16, 2026
  • v1.10.0: chart pack phases 1-5 + NetworkGraphSeries (deterministic + ForceDirected layouts)

    @xkqg xkqg committed May 4, 2026
  • v1.9.0 indicator expansion: 12 new indicators (Volume / Trend+Transform / Advanced), total 52; strict 90/90 per class via [ExcludeFromCodeCoverage] migration

    @xkqg xkqg committed Apr 23, 2026
  • Docs: strict-90 refactor (2026-04-20) — coverage 97.26L/90.50B, 32 extracted SOLID subclasses at 100/100 Updated Home + Contributing + Roadmap with post-refactor figures: - 7 325 main-project tests (was 7 510 stale from Phase Ω) - 97.26L/90.50B (was ~96/~88) — branch rate above 90 % aggregate floor for the first time - Strict-90 refactor bullet added under v1.7.2 Roadmap section: 3 god-classes (AxesRenderer.RenderColorBar, CartesianAxesRenderer.Render, SankeySeriesRenderer) decomposed into 32 extracted SOLID subclasses, each at 100L/100B via direct TDD. No behavioural change — byte-level SVG output identical to shipped v1.7.2 (verified by 10 033-case equivalence fuzz). Version stays 1.7.2 (non-behavioural refactor).

    @xkqg xkqg committed Apr 20, 2026
  • v1.7.2 Phase \u03a9 stats refresh: 7 345 \u2192 7 510 tests, ~95.7L/87.4B coverage, strict-mode flip blocked pending production refactors

    @xkqg xkqg committed Apr 20, 2026
  • v1.7.2 Phase Z stats refresh: 7 203 → 7 345 tests, 50 → ~40 sub-90, ~95/~86 → ~96/~88 line/branch coverage

    @xkqg xkqg committed Apr 19, 2026