cartesianLayout function
Implementation
CartesianLayout cartesianLayout({required List<String> categories, required List<List<double>> all, required bool stacked, required Size viewport, String density = 'default', bool condensed = false, String? tickVariant}) {
final variant = _resolveTickVariant(condensed: condensed, tickVariant: tickVariant, viewportWidth: viewport.width);
if (condensed) {
return _condensedLayoutPass(categories: categories, all: all, stacked: stacked, viewport: viewport, variant: variant);
}
// The buttons take a row below the plot, so a scrolling chart
// gets a second pass with the reduced height. A smaller height
// can only widen slots (fewer label lines fit), never un-scroll,
// so the second pass stays consistent.
var layout = _cartesianLayoutPass(categories: categories, all: all, stacked: stacked, viewport: viewport, buttonsH: 0, base: _densitySlot(density), variant: variant);
if (layout.needsScroll) {
layout = _cartesianLayoutPass(categories: categories, all: all, stacked: stacked, viewport: viewport, buttonsH: 36, base: _densitySlot(density), variant: variant);
}
return layout;
}