new compositeChart(parent [, chartGroup])
Composite charts are a special kind of chart that render multiple charts on the same Coordinate Grid. You can overlay (compose) different bar/line/area charts in a single composite chart to achieve some quite flexible charting effects.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
parent |
String | node | d3.selection | Any valid d3 single selector specifying a dom block element such as a div; or a dom element or d3 selection. |
|
chartGroup |
String |
<optional> |
The name of the chart group this chart instance should be placed in. Interaction with a chart will only trigger events and redraws within the chart's group. |
- Mixes In:
- Source:
Returns:
- Type
- dc.compositeChart
Example
// create a composite chart under #chart-container1 element using the default global chart group var compositeChart1 = dc.compositeChart('#chart-container1'); // create a composite chart under #chart-container2 element using chart group A var compositeChart2 = dc.compositeChart('#chart-container2', 'chartGroupA');
Methods
-
alignYAxes( [alignYAxes])
-
Get or set alignment between left and right y axes. A line connecting '0' on both y axis will be parallel to x axis. This only has effect when elasticY is true.
Parameters:
Name Type Argument Default Description alignYAxes
Boolean <optional>
false - Source:
Returns:
- Type
- Chart
-
childOptions( [childOptions])
-
Get or set chart-specific options for all child charts. This is equivalent to calling .options on each child chart.
Parameters:
Name Type Argument Description childOptions
Object <optional>
- Source:
Returns:
- Type
- Object | dc.compositeChart
-
children()
-
Returns the child charts which are composed into the composite chart.
- Source:
Returns:
- Type
- Array.<dc.baseMixin>
-
compose( [subChartArray])
-
Combine the given charts into one single composite coordinate grid chart.
Parameters:
Name Type Argument Description subChartArray
Array.<Chart> <optional>
- Source:
Returns:
- Type
- dc.compositeChart
Example
moveChart.compose([ // when creating sub-chart you need to pass in the parent chart dc.lineChart(moveChart) .group(indexAvgByMonthGroup) // if group is missing then parent's group will be used .valueAccessor(function (d){return d.value.avg;}) // most of the normal functions will continue to work in a composed chart .renderArea(true) .stack(monthlyMoveGroup, function (d){return d.value;}) .title(function (d){ var value = d.value.avg?d.value.avg:d.value; if(isNaN(value)) value = 0; return dateFormat(d.key) + '\n' + numberFormat(value); }), dc.barChart(moveChart) .group(volumeByMonthGroup) .centerBar(true) ]);
-
rightY( [yScale])
-
Get or set the y scale for the right axis. The right y scale is typically automatically generated by the chart implementation.
Parameters:
Name Type Argument Description yScale
d3.scale <optional>
- Source:
- See:
Returns:
- Type
- d3.scale | dc.compositeChart
-
rightYAxis( [rightYAxis])
-
Set or get the right y axis used by the composite chart. This function is most useful when y axis customization is required. The y axis in dc.js is an instance of a d3.axisRight therefore it supports any valid d3 axis manipulation.
Caution: The right y axis is usually generated internally by dc; resetting it may cause unexpected results. Note also that when used as a getter, this function is not chainable: it returns the axis, not the chart, so attempting to call chart functions after calling
.yAxis()
will fail.Parameters:
Name Type Argument Description rightYAxis
d3.axisRight <optional>
- Source:
- See:
Returns:
- Type
- d3.axisRight | dc.compositeChart
Example
// customize y axis tick format chart.rightYAxis().tickFormat(function (v) {return v + '%';}); // customize y axis tick values chart.rightYAxis().tickValues([0, 100, 200, 300]);
-
rightYAxisLabel( [rightYAxisLabel] [, padding])
-
Set or get the right y axis label.
Parameters:
Name Type Argument Description rightYAxisLabel
String <optional>
padding
Number <optional>
- Source:
Returns:
- Type
- String | dc.compositeChart
-
shareColors( [shareColors])
-
Get or set color sharing for the chart. If set, the .colors() value from this chart will be shared with composed children. Additionally if the child chart implements Stackable and has not set a custom .colorAccessor, then it will generate a color specific to its order in the composition.
Parameters:
Name Type Argument Default Description shareColors
Boolean <optional>
false - Source:
Returns:
- Type
- Boolean | dc.compositeChart
-
shareTitle( [shareTitle])
-
Get or set title sharing for the chart. If set, the .title() value from this chart will be shared with composed children.
Note: currently you must call this before
compose
or the child will still get the parent'stitle
function!Parameters:
Name Type Argument Default Description shareTitle
Boolean <optional>
true - Source:
Returns:
- Type
- Boolean | dc.compositeChart
-
useRightAxisGridLines( [useRightAxisGridLines])
-
Get or set whether to draw gridlines from the right y axis. Drawing from the left y axis is the default behavior. This option is only respected when subcharts with both left and right y-axes are present.
Parameters:
Name Type Argument Default Description useRightAxisGridLines
Boolean <optional>
false - Source:
Returns:
- Type
- Boolean | dc.compositeChart