StackedBarChartComponent class
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