Skip to content
Snippets Groups Projects
Commit 2d7afb56 authored by Tom Robinson's avatar Tom Robinson
Browse files

Fix histogram axis

parent bd4947e5
No related branches found
No related tags found
No related merge requests found
......@@ -590,15 +590,17 @@ export default function lineAreaBar(element: Element, props: LineAreaBarProps) {
checkSeriesIsValid(props);
// force histogram to be ordinal axis with zero-filled missing points
settings["graph.x_axis._scale_original"] = settings["graph.x_axis.scale"];
if (isHistogram(settings)) {
settings["line.missing"] = "zero";
settings["graph.x_axis.scale"] = "ordinal";
}
let datas = getDatas(props, warn);
const xAxisProps = getXAxisProps(props, datas);
let xAxisProps = getXAxisProps(props, datas);
datas = fillMissingValuesInDatas(props, xAxisProps, datas);
xAxisProps = getXAxisProps(props, datas);
if (isScalarSeries) xAxisProps.xValues = datas.map(data => data[0][0]); // TODO - what is this for?
......@@ -616,8 +618,7 @@ export default function lineAreaBar(element: Element, props: LineAreaBarProps) {
const parent = dc.compositeChart(element);
initChart(parent, element);
// copy settings so we can mutate based on runtime conditions
parent.settings = { ...settings };
parent.settings = settings;
const brushChangeFunctions = makeBrushChangeFunctions(props);
......@@ -639,8 +640,11 @@ export default function lineAreaBar(element: Element, props: LineAreaBarProps) {
parent.compose(charts);
if (groups.length > 1 && !props.isScalarSeries) doGroupedBarStuff(parent);
else if (isHistogramBar(props)) doHistogramBarStuff(parent);
if (groups.length > 1 && !props.isScalarSeries) {
doGroupedBarStuff(parent);
} else if (isHistogramBar(props)) {
doHistogramBarStuff(parent);
}
// HACK: compositeChart + ordinal X axis shenanigans. See https://github.com/dc-js/dc.js/issues/678 and https://github.com/dc-js/dc.js/issues/662
parent._rangeBandPadding(chartType === "bar" ? BAR_PADDING_RATIO : 1); //
......
......@@ -124,6 +124,7 @@ export const isTimeseries = settings =>
export const isQuantitative = settings =>
["linear", "log", "pow"].indexOf(settings["graph.x_axis.scale"]) >= 0;
export const isHistogram = settings =>
settings["graph.x_axis._scale_original"] === "histogram" ||
settings["graph.x_axis.scale"] === "histogram";
export const isOrdinal = settings =>
!isTimeseries(settings) && !isHistogram(settings);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment