StackedBarChartComponent class

Inheritance

Constructors

StackedBarChartComponent.new(RenderComponent parent, String id, {double maxLabelWidthX = 50, double maxLabelWidthY = 50, Set<String>? barLabels, double barWidth = 15, double barMargin = 45, Set<String>? labelsX, int? labelCountY, double? labelMinY, double? labelMaxY, String labelFormatY(double)?, String? css = 'stackedbar', double gridLineWidth = 1, double aspectRatio = 1.5, double textMargin = 15, String gridLineStrokeStyle = '#d7d7d7', String labelFillStyle = '#aaaaaa', String labelFontStyle = '14px sans-serif', String captionBgColor = '#2d2d2d', String captionFgColor = 'white', String captionFontFamily = 'sans-serif'})

Properties

aspectRatio double
The width/height ratio of this canvas. The canvas height, everytime it is redrawn, changes based on the canvas clientWidth. The height follows the width depending on the ratio: height = width/aspectRatio.
finalinherited
barLabels Set<String>
The list of labels currently present in the chart.
getter/setter pair
barMargin double
Distance between one bar to another, NOT a distance between one set of bars to another set (distance between an X label to another).
getter/setter pair
barWidth double
Width of a single bar.
getter/setter pair
baseInnerElement → Element?
no setterinherited
baseInnerHtml String
Unlike RenderComponent, setting the baseInnerHtml does not update baseInnerElement, because this component is not designed +to be rendered independently. You need to reprint the component to the parent's component (update its baseInnerHtml with this component string asString), and re-attach it with _attachToRenderComponent again.
getter/setter pairinherited
captionBgColor String
The caption background color.
finalinherited
captionFgColor String
The caption foreground color (the text color).
finalinherited
captionFontFamily String
The caption font family.
finalinherited
chartFillStyle Map<String, Color>
Chart fill style.
getter/setter pair
drawGridY bool
Whether to draw Y grid lines.
finalinherited
elem → Element
Returns the DOM Element of this component by doing querySelector('$id').
no setterinherited
gridLineStrokeStyle String
The line stroke style for the canvas grid.
finalinherited
gridLineWidth double
The line width used to draw canvas grid.
finalinherited
gridMaxPxX double
The maximum coordinate of the grid, in pixel. The grid starts at (gridMinPxX,gridMinPxY) and ends in (gridMaxPxX, gridMaxPxY).
no setter
gridMaxPxY double
The maximum coordinate of the grid, in pixel. The grid starts at (gridMinPxX,gridMinPxY) and ends in (gridMaxPxX, gridMaxPxY).
no setter
gridMinPxX double
The minimum coordinate of the grid, in pixel. The grid starts at (gridMinPxX,gridMinPxY) and ends in (gridMaxPxX, gridMaxPxY).
no setter
gridMinPxY double
The minimum coordinate of the grid, in pixel. The grid starts at (gridMinPxX,gridMinPxY) and ends in (gridMaxPxX, gridMaxPxY).
no setter
hashCode int
The hash code for this object.
no setterinherited
htmlElem → HTMLElement
no setterinherited
id String
Setting the component with new ID is basically not recommended. It will change the real HTML ID of this element rendered in DOM too, and will throw ComponentDuplicateIdException when the new ID already exists.
getter/setter pairinherited
keys Iterable<String>
no setter
labelFillStyle String
The label texts color style.
finalinherited
labelFontStyle String
The labels font style.
finalinherited
labelFormatY String Function(double label)
The formatting function used to display the labels in Y axis. If none is specified, it by default uses NumberFormat.compact to format label values into string. You might want to override this for example if you want the label to be a date.
final
labelsX LinkedHashSet<String>
A predefined sets of labels in X axis. If left empty, labels will be generated from the data points, and will keep on increasing if more X values are encountered. In bar chart, labels are stored as String, not in their numerical values. This is because it might be impossible to compare two double values for equality. And because the bar chart does not have any kind of sorting in X axis, it uses LinkedHashSet. Data points are also store using LinkedHashMap, therefore, you are the one in charge with ordering them.
getter/setter pair
mathMlElem → MathMLElement
no setterinherited
maxLabelWidthX double
The maximum width for label texts in X axis.
final
maxLabelWidthY double
The maximum width for label texts in Y axis.
final
parent RenderComponent
no setterinherited
points int
The number of points of the spider chart.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
svgElem → SVGElement
no setterinherited
textMargin double
The distance between label text to the grid.
finalinherited

Methods

addOnChangeTo(Element node, void onChange(Event)) → void
Creates an onChange event on node (has to be an Element or Document type). Call this in loadEventHandlers.
inherited
addOnClickTo(Element node, void onClick(Event)) → void
Creates an onClick event on node (has to be an Element or Document type). Call this in loadEventHandlers.
inherited
addSubscription(StreamSubscription subs) → void
A generic method to add an event subscription which will also get cancelled when unloadEventHandlers is called.
inherited
addSubscriptions(Iterable<StreamSubscription> subs) → void
A generic method to add (bulk) event subscriptions which will also get cancelled when unloadEventHandlers is called.
inherited
assertDuplicateId(String id) → void
inherited
assertElementAttached() → void
inherited
clearPoints() → void
override
contains(Node node) bool
Contains checks whether a node is contained in this component. Can only be used by StringComponent if the component has been attached.
inherited
drawDataPoints() → void
override
drawGrid([bool drawY = false]) → void
override
drawLabels() → void
override
getLabelCountY() int
Gets how many labels the graph should display in Y axis. If _initialLabelCountY is not supplied, which means labelCountY was not supplied in the constructor, the label counts is dynamic (depending on canvas height).
getLabelMaxY() double
Get the maximum (the last, the topmost) Y label value. If _initialLabelMaxY is null, which means that labelMaxY value from the constructor was not supplied, maximum Y label value will be retrieved from ceil(maximum Y value in data points). There is an exception to this, however. When the maximum point equals to the minimum point, which means that the data are flat, max Y label is calculated from ceil(1.2 * maximum Y value in data points). However, if the maximum data point is 0, multiplying it by 1.2 won't do anything, and so it will be set to constant 10 instead.
getLabelMinY() double
Get the minimum (the first, the bottommost) Y label value. If _initialLabelMinY is null, which means that labelMinY value from the constructor was not supplied, minimum Y label value will be retrieved from floor(minimum Y value in data points).
hideGraph(String graphId) → void
isRendered() bool
Check if the component is rendered at DOM or not.
inherited
lerp(num x, num x1, num x2, num y1, num y2) double
Linear interpolate x between two points (x1, y1) and (x2, y2).
inherited
loadEventHandlers() → void
Loads this component event handlers. Call super to check whether this component has been attached. If it hasn't, it will throw ComponentNotRenderedException.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onComponentAttached() → void
Called when this component has been attached to a parent RenderComponent.
override
queryByClass(String elemClass) → NodeList
Does elem.querySelectorAll(.elemClass) to select all element that have matched class.
inherited
queryById(String id) → Element?
Does elem.querySelector(#id) to select an element under this component.
inherited
redraw() → void
setDataPoints(String key, List<TextDataPoint> points) → void
Sets the data points stored in this graph, and redraw the graph. See also redraw.
showGraph(String graphId) → void
toString() String
Returns this component representation as HTML string that you can use inside other component's baseInnerHtml.
inherited
unloadEventHandlers() → void
Unloads this component event handlers. Call super to check whether this component has been attached. If it hasn't, it will throw ComponentNotRenderedException.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

keyAllGraph → const String