Curves changelog
v.next
- Curves: Multi curve viewer: The axis names and the title are shown in the property panel, not left blank while the plot draws them. Clearing one now takes it off the plot, as it already did in the grid, rather than quietly falling back to what the data named
- Curves: Naming one axis draws that one. Both names were needed before either appeared, so clearing X Axis Name took the y name with it
- Curves: Column Name is no longer offered in the series options. The render stamps it on every paint so the legend can say which column a curve came from, so a name typed there was written into the cell and then overwritten before it was ever drawn
- Curves: A column whose
.%fittag is empty renders again - reading it parsed an empty string and threw on every cell - GROK-20664: Curves: The statistics on a plot keep their font. They were drawn in whatever font the caller had last set on the canvas, since only the other parts of the chart named one - so opening the filter changed them, and scrolling the panel changed them back. Statistics and the labels that share their column are now written in the plot's own font
- GROK-20664: Curves: The statistics and droplines lists are shown whole in the property panel. A multi-choice is capped at 155px and always draws its scrollbar, which cut ten statistics down to six and put a second scrollbar inside a panel that already scrolls
- GROK-20662: Curves: Fit function names each function once, and no longer offers none. A custom JS function was listed twice - it registers itself the first time it is used, and the panel prepended it to that same registry - while the registry read by every other column was the one captured before any custom function had registered, so it could not be picked anywhere else. The list is now read where it is shown, so a function registered once can be used on any curve. The empty entry is gone with it: a series is fitted with what it names or with the default, so none was never a value to pick. Picking a custom function for another curve stores the notation that describes it rather than its name, so the curve still fits in a session that never loaded the column the function came from
- GROK-20662: Curves: Clearing the Fit function option no longer takes the column with it. A series left without one reached
getOrCreateFitFunctionas null, which read.nameoff it - so the cell renderer threw (a red cross in every cell of the column, blank in the next) and the property panel threw while listing the series options, leaving no way to set the function back. Naming none now names the default, as it does for data that never named one, and so does naming a function that no longer exists - GROK-20659: Curves: Hovering
+N moreno longer lists every curve it stands for - 210 curves gave a tooltip 3882px tall in an 859px window, most of it off the screen. It lists as many rows as the window has room for (three quarters of its height) and counts the rest, and once it is listing several, a row is a label like the ones on the plot - a Legend column pointed at a curves column named every row with the cell's whole 1950-character JSON. Hovering a single row still says the whole of that name however long, since that is what it is for - GROK-20661: Curves: Multi curve viewer: Adding a column widens the axes again. A range a cell declares for its own chart was merged into the overlay and then enforced, so
log min/max candlestickscarryingmaxY: 8capped every other column -multiple prefitreaches 8.12 and was drawn cut off. A declared range is now dropped when the combined series fall outside it; one that still contains them is kept, and the viewer's own Min Y / Max Y clamp as before - GROK-20661: Curves: Setting one axis bound no longer un-pads the other three. Any bound at all made the whole rectangle exact, putting the opposite edge on the outermost point and cutting a curve that overshoots it - a fit peaking at 8.4 above points reaching 8.12. Each edge is now padded unless it is the one that was set
- GROK-20660: Curves: The axis names sit on the plot they name. The x name was drawn 5px left of centre and the y name 15px below it, both from constants added to the offset rather than to the margin. The same function also called
restore()without a matchingsave(), so every cell that showed axis names leaked one canvas state - the cell clip was released before the legend was drawn, and the grid lost the state it had saved for the cell - GROK-18886: Curves: A pipe inside a title survives. Every
|was stripped from a cell before parsing, to rescue values a stray one breaks - which also ran identifiers together, socompound_id 10||Collapse Assay||run_id 4was drawn ascompound_id 10Collapse Assayrun_id 4. The rescue now applies only to a value that yields nothing as it stands - GROK-18886: Curves: Data to Curves names a group the way it reads -
compound_id 0 | Neuronal Health Assay | target_9rather thancompound_id 0||Neuronal Health Assay||target_9||null. Empty parts are dropped from the group column and the curve title; the key that identifies a group is untouched, so parent data still matches. The Assay Curves demo was regenerated to match - GROK-18886: Curves: An outlier marker no longer swamps a small plot. At three times the point size it took an eighth of a trellis cell's height, so it is now capped against the plot it sits in
- GROK-18467: Curves: Multi curve viewer: A curve is fitted once instead of on every repaint. The viewer had no grid cell to key the fit cache on, so a trellis re-ran Nelder-Mead for every curve in every cell each time anything changed - on a 999-row table split into 25 cells, one option toggle blocked the browser for ~2.8s and cost the same again on the next toggle. Repeat interactions now take ~30ms. The viewer keeps its own cache, since its curves are not the grid's: it merges a cell's series and applies its own log options
- GROK-18467: Curves: A fit is no longer shared between a log plot and a linear one. The fit cache key named the cell but not the axes, so the same cell rendered in different spaces - a grid, a property panel and a trellis can differ - reused whichever fit was made first
- GROK-18166: Curves: Multi curve viewer: Declared the properties a trellis plot puts on its control panel - Merge Column Series, Log X and Log Y, the way a scatter plot offers X, Y, Color and Size. Editing them, or anything in the MultiCurveViewer tab of the property panel, now reaches every trellis cell and is kept in saved layouts
- GROK-20112: Curves: The legend picks the corner the curves leave freest, counting where points and fit lines actually landed and staying in the top right unless another corner is clearly emptier. Hovering a shortened name gives the whole of it, and hovering the
+N morerow gives every curve the legend could not fit, each in its own colour - GROK-20112: Curves: The legend no longer buries the curves it names. A column holding a single curve gets no row of its own (the siRNA demo goes from eight rows to four), rows sit over a backdrop so they stay readable, a name too long for the corner is ellipsized and says the rest when hovered, and rows past the corner collapse into
+N more. A name that two columns share is qualified with the column; two curves named alike in one column are left as the data has them. Legend code moved tofit/fit-legend.ts - Curves: Added the Show Legend chart option - the curves can be left unnamed on any level, the way every other chart option cascades
- GROK-19028: Curves: Multi curve viewer: Merge Cell Series no longer rewrites the cells it reads. The viewer merged into the parsed chart data cached for the grid, so unchecking the box left the curves merged and the grid cell itself started rendering the merged series
- #2101: Curves: Droplines accept the whole
ICxx/ECxxfamily instead ofIC50alone - a dropline marks the x at which the curve has travelled that fraction between its asymptotes. IC10, IC20, IC50, IC80 and IC90 are offered in the property panel, any other percentage works from the cell JSON. One that falls outside the plotted range is skipped, and several on one series are captioned - #2101: Curves: The statistics of a cell holding several curves can be summarised into one line, named as the extracted column is (
med ic50). Statistics mode chooses between drawing them for each series, summarised, or both, and Aggregation picks the function. Both inputs are hidden for a single curve, which has nothing to summarise - #2101: Curves: Error bars now run from the marker's edge outwards with end caps, and are left out when the deviation is smaller than the marker rather than drawn inside it. Their line width is set explicitly instead of inheriting whatever the fit line or the droplines left behind
- #2103, #2101: Curves: Render custom labels on the plot and choose them in the property panel. A curve can carry values the fit cannot produce - a plate's Z prime, an assay name, a compound id - and they are drawn alongside the statistics: plot-level ones once in a neutral colour, per-curve ones with their series. The Labels input offers the names the cell actually carries, and plot-level labels combine across Dataframe, Column and Cell instead of the nearest level winning outright, so an assay name and a plate statistic can come from different levels
- Flow: Added Add Curve Statistic and Add Aggregated Curve Statistic, which take a real
column {semType: fit}slot. TheaddStatisticsColumn/addAggrStatisticsColumnoriginals address the curve column by NAME — a free-text field with no picker and no filter — and stay as they are because the Fit pane and the Data to Curves pipeline call them by name as replayable transforms - Curve statistics: The free-text
propNameandaggrTypeparameters now declarechoices:and a default, on both the originals and the new twins - Fit Dose-Response Curves: Constrained the column pickers by type (numerical for concentration/readout, categorical for the identifiers) and marked the seven mandatory columns
nullable: false— a column parameter defaults to nullable, which read as optional and let a half-configured node run - Calculate MSR: Added captions, descriptions, and column-type constraints to the five unconstrained mandatory column inputs
- GROK-20232: Fit renderer: degrade gracefully on malformed fit-cell JSON instead of throwing on every grid redraw
- GROK-17637: Statistics: A legacy x-space name (
interceptX) that a fit function has no inflection field of its own for now reads as empty rather than as the raw parameter slot, whichtoDataSpacedoes not convert - a custom JS fit function with three or more parameters had reported it in log space under a logarithmic x axis. Every built-in resolves the name to a real field and is unaffected - GROK-17637: Split the cell renderer:
fit/fit-layout.tsholds the chart geometry and the size thresholds,fit/fit-interaction.tsthe outlier toggle, tooltip, click handling and the editor dialog, leavingfit/fit-renderer.tsto assemble a chart onto a canvas - GROK-17637: Statistics: An aggregation that is not converted back to data space keeps IC50/EC50 and reports them in fit space, as before this refactor - only pIC50, which is derived during the conversion, is dropped. They had been excluded outright, so a saved transform aggregating
interceptXby stdev or count replayed into an empty column - GROK-17637: Fit renderer: The IC50 dropline is located by the fit function's own parameter name rather than by parameter slot 2, so a two-parameter fit no longer draws it at NaN
- GROK-17637: Fit renderer: A series with
connectDotsand no explicitshowFitLineis fitted before its statistics are drawn - the two sites disagreed on the default, so the statistics could be computed from unfitted parameters - GROK-17637: Fit options: A malformed cell no longer aborts a Column or Dataframe level change after the option has been written; the option is refused outright when it is the edited cell itself
- GROK-17637: Fit options: The pre-
.%.fittag is removed once its value has been migrated, so only one of the two ever holds the options - Fit options: A Column or Dataframe level option now outranks the value a curve declares for itself, instead of taking effect by deleting that value out of every cell. The setting was stored in a tag while its effect was stored in the data, so the two separated whenever the tag travelled and the data did not - applying a layout to a fresh table, or reopening a datasync project, brought the old values back. Each level now records which options were set there, the cells are left as the source produced them, and clearing a Column level option restores what each curve declared
- Fit options: Fixed a Column or Dataframe level change being lost on reopening a saved project. Clearing the per-cell overrides is how the change takes effect, and that rewrite is deliberately silent so a cosmetic option does not refit every statistic column - but nothing then marked the table modified, so the cleared overrides were never saved and the old cell-level value came back. The table is now notified at dataframe level, which the calculated columns ignore because it names no column
- Fit options: Fixed Column and Dataframe level options not surviving a reopened datasync project, and not being carried by layouts. They live in a tag, and only tags prefixed
.%are serialized into a layout, so the options moved to.%fit; the old.fittag is still read and migrated on first use - Curve statistics: The statistic column is inserted directly after the curve column again, rather than appended to the end of the table - the platform adds it through the output's
join(table)action, which has no position to declare - Fit options: Fixed a Column or Dataframe level change having no effect on a cell where the same property had been set at cell level. Whether any cell overrode a property was detected once and never revisited, so a cell that gained an override afterwards was invisible to the pass that clears them
- Fit renderer: Fixed the legend drawing each label over its own marker. The legend positions text by measured width, but did not set its own
textAlign, so it inherited the centred alignment the axis labels leave behind and every label shifted half its width left - GROK-17637: Statistics: Changing a chart or series option at Column or Dataframe level now refreshes the extracted statistic columns, but only when the option can affect a statistic. The option lives in a tag, so nothing marked the curve column changed and the columns kept stale numbers while the plot updated; clearing the per-cell overrides is how the option takes effect, but that was itself announced as a data change, so a colour or a title refit every dependent column.
mergeSeriesdoes not affect a statistic, since the renderer merges on a copy and the statistics read the original series - GROK-17637: Statistics: Fixed an aggregated
interceptXbeing reported in log space whileic50was a concentration - it is the default statistic of both aggregation transforms, so a saved project replayed -6 into a column of 1e-6 values, and an outlier toggle mixed both scales into one column - GROK-17637: Statistics: The y asymptotes are reported in the space they were fitted in, as before. A stored
bottomof 0 has no finite logarithm, so a forward and inverse conversion could never be exact inverses - an unguarded inverse reported that bottom as 1 - GROK-17637: Statistics: A merged-series cell no longer leaks into its own statistics - the renderer merges on a copy instead of replacing the series of the cached chart data, and the merged series no longer caches its fit under the key the first real series uses. An extracted statistic used to depend on whether the row had been painted
- GROK-17637: Statistics:
Add Aggregated Curve Statisticoffers the same aggregations as the other two aggregation functions - GROK-17637: Statistics: A legacy statistic a fit function has no field for (
topon a linear fit) now reads the same aggregated as it does per series, instead of coming back empty - GROK-17637: Statistics:
interceptYhas a descriptor for every fit function, so a custom JS fit renders it instead of holding a value the plot skips - GROK-17637: XML 3DX:
logYis emitted only when the export declares it - always emitting the key stopped a Column or Dataframe level option cascading onto the cell - GROK-17637: Statistics: The aggregations offered are limited to the ones converted back to data space, on the transform functions as well as in the panel - the others still compute, in fit space. The new
curveStatistic/curveAggrStatisticdeclaresemType: fitand non-nullable inputs like their legacy twins - GROK-17637: Tests: Saving a project from a table with a Column level option and reopening it restores that option and keeps it outranking the data, for a datasync project as well as a stored one. Both verified to fail when the explicit override is removed. The layout is captured with
saveLayout()rather thangetInfo()- only the former runssaveSyncTags, so a layout fromgetInfo()carries no column tags and a refetched table comes back without them - GROK-17637: Tests: A layout saved from a table with a Column level option and applied to a fresh copy of the same data restores that option - the round trip the tag rename exists for, verified to fail when the tag loses its
.%prefix - GROK-17637: Tests: Added coverage for the renderer, the property panel and the calculated columns - a repaint leaving the cached parameters in data space, values-changed driving statistic-column recalculation, a Column level option overriding a cell level one, the statistic column's position, options read from the legacy tag, the panel constructing for a saved legacy statistic, legacy statistic names mapping onto the current ones, the 3DX parser not inventing
logY,interceptYresolving to a descriptor on a custom fit, and the transform functions offering only aggregations that convert back to data space - GROK-17637: XML 3DX: Fixed boolean attributes being read as strings -
drawLine="False"andlogX="false"both came back true, so a converted curve drew a fit line the source asks to hide, and would have been fitted in log space on a linear axis - GROK-17637: XML 3DX: A declared fit function that is not registered now falls back to sigmoid instead of being passed through as an unknown name
- GROK-17637: XML 3DX:
logYis read from the chart settings, where it was previously ignored - GROK-17637: Statistics: Plot and property panel now show the statistics the series' own fit function produces, instead of a fixed list that rendered NaN for non-sigmoid fits
- GROK-17637: Behaviour change: Statistics are labelled with each fit function's own parameter names -
AUC,R², andMax/Hill/IC50/Minfor dose-response.Max YandMin Ynow name the derived asymptote statistics rather thantop/bottom - GROK-17637: Behaviour change:
slopeon a linear or log-linear fit now reports the slope; it previously reported the intercept.topon those fits keeps its old value, sotopandslopereport the same number - GROK-17637: Statistics: IC50 is reported as a concentration everywhere, so the plot and the property panel no longer disagree
- GROK-17637: Behaviour change: IC50 is converted out of log space whenever the x axis is logarithmic. The conversion was previously skipped for stored values >= 1, and for
4pl-dose-responseentirely, so nM/uM-scale curves and every dose-response curve now report a different number - by orders of magnitude in saved projects - GROK-17637: Behaviour change: Statistics aggregated across series are averaged in fit space, so an averaged IC50 is now a geometric mean - 1e-7 and 1e-5 give 1e-6 rather than 5.05e-6. Counts, sums and shape statistics stay on their own scale
- GROK-17637: Added pIC50, derived as -log10(IC50). It assumes the concentration is molar, so it reads 6 too low on uM data and 9 too low on nM data
- GROK-17637: Options: A custom JS fit function is now named in the property panel instead of rendering a blank input
- GROK-17637: Options: Fixed the statistics and fit-function inputs binding to a throwaway copy of the options, so changing either did nothing
- GROK-17637: Statistics: Toggling an outlier refreshes extracted statistic columns by name off the typed fit, so columns named beyond the seven legacy statistics (
ic50,pIC50,maxY) stay populated - GROK-17637: Statistics: A cell mixing fit functions now aggregates only the statistics every series produces, instead of averaging one over the subset that has it
- GROK-17637: Statistics: Statistics that only carry meaning in data space (IC50/EC50 under a logarithmic x axis, and pIC50) are no longer offered for aggregations that are not converted back, where they would have been reported in log space or come back empty
- GROK-17637: Fixed the series colour type being widened to
string, which disabled colour-option checking - GROK-17637: Statistics: Added
curveStatisticandcurveAggrStatistic- the property panel now adds a statistic as a calculated column that recalculates when its curve changes and is recorded in the table's creation script - GROK-17637: Statistics: Aggregation now covers every statistic the cell's fit functions produce rather than a fixed list, and the aggregated pane uses the same per-fit-function descriptors as the single-series one
- GROK-17637: Fixed confidence intervals reading a non-existent
series.dataPoints, which discarded the cached points and recomputed them on every frame - GROK-17637: Statistics: Moved the statistics calculation out of the property-panel handler and the package entry point into
fit/fit-statistics.ts - GROK-17637: Extracted the chart-data assembly and fit caches into
fit/fit-chart-data.ts, breaking thefit-renderer<->fit-statisticsimport cycle - GROK-17637: Statistics: Fixed the reported IC50 of nM/uM-scale curves drifting (100 -> 2 -> 0.301).
IFitSeries.parametersare now always in data space: neither the renderer nor the statistics convert them in place or write fitted parameters back onto the cached series
1.12.0 (2026-04-02)
Features
- Added PZFX (GraphPad Prism) file viewer and handler
- Added dynamically extendable format support
1.11.0 (2026-03-13)
Features
- Added editable GridCellWidget support
1.10.15 (2025-12-02)
- Png Renderer: Fix flickering and moved to PowerGrid
1.10.12 (2025-09-16)
- GROK-18808: Provided consistent names for Data top menu
- Plates: Skip rendering too small plates
1.10.11 (2025-09-12)
- Data-To-Curves: Well level additional columns
1.10.10 (2025-09-09)
- Extended PNG detector
1.10.9 (2025-08-27)
- MultiCurveViewer: Added showOutliers parameter
1.10.8 (2025-08-21)
- Data-to-Curves: Correct exclude heuristic
1.10.7 (2025-08-21)
- Rendering: Added showOutliers parameter
1.10.6 (2025-08-20)
- TestData: Wells: Improved concentration/activity, samples, barcodes generation for plates
- TreeBrowser function: Removed unnecessary browsePanel input
- Added MSR script
- Updated MSR env
1.10.5 (2025-08-20)
1.10.4 (2025-08-14)
- MultiCurveViewer:
- Fixed issues with min/max x/y
- Fixed slider is added on min/max x/y fields
- Added legendColumnName property
1.10.3 (2025-08-01)
1.10.2 (2025-07-31)
- Data-to-curves: Added joining options
1.10.1 (2025-07-30)
- Data-to-curves: Fixed mismatched keys
1.10.0 (2025-07-29)
Features
- 4plDoseResponse: Added 4PL dose-response curve fitting function
- Data-to-curves: fully covered script with history, datasync and 2 tier support
- Raw PNG renderer
1.8.0 (2025-03-31)
Features
- GROK-17295: Fitting caching:
- Performance improvements
- Cached fitting and wrote tests
- Fixed margins
- Fit: Disabled caching for non valid row indexes
- Outliers: Made outlier toggling not to invalidate the whole grid
- Added custom event for outlier toggling
- Added 4pl-regression fit function
- #3195: Plate Viewer:
- Supported plate handling
- Implemented automatic plate import from Excel
- Added new fluent API
- Enabled DRC with grouping
- Supported multi-plate file folders
- Added details, stats column, IC50, curve preview, statistics recalculation, outlier marking, configuration options
- Implemented content-dependent file import
- Added rendering for 1536-well plates
- Enabled inspection of single series in plate
- Added demo
- Plate readers: Added Delfia Envision and Spectramax parsers
- Added docs on plate DRC
Bug fixes
- Fixed MultiCurveViewer issues
- Fit panel: Fixed namings and inputs
- GROK-17492: Fixed error when adding statistics column if the series has no name
1.6.0 (2024-09-09)
- Fixed tests
1.5.0 (2024-08-23)
Features
- Improved fitting algorithm - didn't fit properly because was stuck in the bounds
1.4.6 (2024-08-13)
Features
- Added exponential fit function
1.4.5 (2024-07-24)
1.4.4 (2024-07-02)
Bug fixes
- #2924: Fixed connectDots doesn't work if fit is turned off
1.4.3 (2024-05-23)
Bug fixes
- #2855: Changed labels (Marker Type -> Marker and Outlier Marker Type -> Outlier Marker)
1.4.2 (2024-05-21)
Features
- #2855: Added outlier marker option
1.4.1 (2024-05-21)
Features
- #2797: Added log-linear fit function
1.4.0 (2024-05-11)
Features
- Changed optimizer for fitting
Bug Fixes
- #1645: MultiCurveViewer: Removed unnecessary margins
1.3.1 (2024-05-03)
Features
- #1645: MultiCurveViewer:
- Added filter on fit columns in the MultiCurveViewer
- Made property panel fields work and made automatic chart options merge
- Code refactoring and restructure, render improvements
1.3.0 (2024-04-18)
Features
- #2101: Improve curves properties and rendering:
- Added tooltips on points
- Added icon to MultiCurveViewer
- Added mergeSeries property and method
- Added legend rendering with column labels
- #2754: Implemented capability just to connect the points (without fitting)
- #1645: MultiCurveViewer:
- Added columns selection
- Added column series merging
- Added colors and fixed error messages
- Added curves limit and fixed showColumnLabel
- Turned off droplines and confidence intervals
- Made same fit line style in case of 20+ curves
Bug Fixes
- #2748:
- Fixed whole table is broken if cell with curves contains specific data
- Added red cross if the curve is broken
- Added error text
1.2.16 (2024-03-15)
Features
- #2105: Added outlier color property.
Bug Fixes
- Renamed "Show curve confidence intervals" to "Confidence intervals"
- #2101: Fixed statistics calculation
- #2103: Made statistics columns adding functions DG functions
1.2.15 (2023-11-17)
Features
- #2101: Added capability to substitute zeroes in curve fitting for logarithmic data
Bug Fixes
- Fixed MultiCurveViewer throws an error when adding to an arbitrary dataset
1.2.14 (2023-11-10)
Bug Fixes
- #2101: Changed droplines min size for rendering
1.2.13 (2023-11-09)
Bug Fixes
- #2101: Improved curves properties and rendering:
- Fixed curves not rendering because of undefined x if branch.
- Fixed linear fit not rendering.
1.2.12 (2023-11-02)
Bug Fixes
- #2101: Fixed exception if no x or y coordinates present.
- #2103: Property panel changes:
- Returned null values if lack of data in aggregated columns
- Replaced DG.Stats.fromColumn() with DG.Stats.fromValues()
1.2.11 (2023-10-26)
Bug Fixes
- #2101: Fixed exception thrown on adding Form viewer.
1.2.10 (2023-10-16)
Bug Fixes
- #2101: Fixed proportional confidence interval rendering.
1.2.9 (2023-10-11)
Features
- #2103: Implemented aggregations for series statistics
Bug Fixes
- #2101: Fixed curves if no points present in series
- #2103: Property panel changes:
- Fixed the color input for the curves
- Inserted stat column next to curves column
- Fixed parameter column adding
- Fixed adding statistics column for null undefined series
- Replaced the MultiCurveViewer with CellRenderViewer in the property panel
- Fixed statistics calculation and rendering
- #2394: Replaced autostart tag with init tag
1.2.8 (2023-09-25)
Features
- #2101: Improved the curves demo app
Bug Fixes
- #2101: Improved curves properties and rendering:
- Don't allow clickToToggle if small cell size
- Fixed margins in small cells
1.2.7 (2023-09-11)
Features
- #2103: Property panel changes:
- Added color for the series in the property panel
- Added capability to store chart options on the dataframe level in tags
- Restructured the property panel
- Added dataframe and plot-only switch modes in the property panel
- Made the accordion to restore the property panel state
- Added proper tooltips on properties
- Implemented the capability to switch the plot state on the property panel
- #2101: Improved curves properties and rendering:
- Decreased the sizes for the plot title rendering
- Changed the min axes cell width
- Added errorModel property
- #2100: Made cell renderer edit mode a resizeable window
- #2106: Added documentation about property panel and error model
Bug Fixes
- #2101: Improved curves properties and rendering:
- Added dataBounds checks in case of logarithmic values
- Fixed droplines rendering for linear and logarithmic modes
- Fixed the tooltip for small cells
- Fixed confidence intervals rendering for logarithmic modes
1.2.6 (2023-08-25)
Features
Bug Fixes
- #2101: Improved curves properties and rendering:
- Fixed the curve fitting algorithm
- Fixed axes scales
1.2.5 (2023-08-23)
Features
- #2101: Improved curves properties and rendering:
- Added standard deviation rendering for points
- Added custom point color coding
- Added custom point marker
- Added custom marker size rendering
- #2106: Updated the documentation regarding the standard deviation, the point color, marker type and size
1.2.4 (2023-08-12)
Features
- #2106: Updated the documentation about parameter order and plot title
- #2105: Made Curves by default as a DG categorical color
- #2101: Improved curves properties and rendering:
- Added x- and y-axes labels rendering
- Added title rendering if the cell size is enough
Bug Fixes
- #2101: Improved curves properties and rendering:
- Fixed log curves rendering
- Fixed sizes for axes rendering
1.2.3 (2023-08-07)
Bug Fixes
- #2104: Fixed fit detector
1.2.2 (2023-08-04)
Features
- #2101: Changed minBound and maxBound to min and max in parameterBounds
- #2106: Updated the documentation about parameterBounds
1.2.1 (2023-08-02)
Features
- #2101: Improved curves properties and rendering:
- Added dropline rendering for IC50
- Added empty cell value handling
- #2106: Wrote TS docs and extended the documentation
- Added error handling in the JnJ parser
1.2.0 (2023-07-21)
This release focuses on adding new functionality and improving the existing one.
Features
- Added outliers switching in grid cells.
- Added different modes of rendering: candlesticks (with box plot statistics) and both (with candlesticks outliers).
- Improved fit detector.
- Improved curves and confidence intervals rendering for better smooth.
- Added the capability to run curves by user-defined Javascript function with caching.
- Improved rendering in the small cells.
- Added different marker types.
- Improved axes cell rendering.
- Implemented interactive parameter recalculation.
- #2105: Outliers are now shown in red color and with a much bigger size.
- #2101: Improved curves properties and rendering:
- Curves now don't render before the axes start.
- Changed margins in grid cell for axes.
- Added the capability to control parameter bounds.
- #2100: Made cell renderer edit mode a resizeable window.
Bug Fixes
- #2101: Improved curves properties and rendering:
- Fixed points rendering in logarithmic data.
- Fixed curves rendering by inverting the y while converting the coordinates.
1.1.0 (2023-05-19)
This release focuses on improving the analysis stability and usability.
Features
- Added support for log transform and axis inverse.
- Improved curve fitting and confidence intervals:
- Added a semantic type detector for "fit" to render fitted curves.
- Automated data sorting during fitting.
Bug Fixes
- Fixed performance issues during fitting.