plotly.js v2.28.0 compatibility needs huge rework of core API #441
Labels
Area: Core API
Area: MissingAbstraction
Plotly.js functionality that has to be implemented
Type: Enhancement
Milestone
https://github.com/plotly/plotly.js/releases/tag/v2.28.0 introduces an option to set objects for encoded typedarrays for basically all fields that provide data to traces (e.g.
x
andy
for a cartesian plot).Plotly.NET's API is statically typed and currently uses sequences of
#IConvertible
for these fields. This was a clever trick because this allows setting any of the CLR runtime typesBoolean
,SByte
,Byte
,Int16
,UInt16
,Int32
,UInt32
,Int64
,UInt64
,Single
,Double
,Decimal
,DateTime
,Char
, andString
while also making it very easy to serialize.The new way of setting
data_array
s seems to have speed advantages, and is therefore worth to be supported well from our side. A straightforward way of implementing this in the API providing a new type, e.g.this type would also need functionality to encode the base64 string in a way that is understood by plotly.js. Maybe the python implementation's codebase can help here, as they seem to implement these functions as well.
Due to these large changes that also must be reflected on the CSharp lib, support for plotly.js >= v2.28.0 will be moved to the major release of Plotly.NET 6.0
The text was updated successfully, but these errors were encountered: