@visactor/vchart
Version:
charts lib based @visactor/VGrammar
40 lines (36 loc) • 1.52 kB
JavaScript
import { array } from "@visactor/vutils";
import { STACK_FIELD_END, STACK_FIELD_END_PERCENT, STACK_FIELD_START, STACK_FIELD_START_PERCENT } from "../../../constant/data";
import { PolarSeries } from "../polar";
export class RoseLikeSeries extends PolarSeries {
getStackGroupFields() {
return this._angleField;
}
getStackValueField() {
return array(this._spec.valueField)[0] || array(this._spec.radiusField)[0];
}
getGroupFields() {
return this._angleField;
}
setAttrFromSpec() {
super.setAttrFromSpec(), this.setAngleField(this._spec.categoryField || this._spec.angleField),
this.setRadiusField(this._spec.valueField || this._spec.radiusField), this._specAngleField = this._angleField.slice(),
this._specRadiusField = this._radiusField.slice(), this.setInnerRadiusField(this._spec.valueField || this._spec.radiusField),
this.getStack() && this.setValueFieldToStack(), this.getPercent() && this.setValueFieldToPercent();
}
setValueFieldToStack() {
this.setRadiusField(STACK_FIELD_END), this.setInnerRadiusField(STACK_FIELD_START);
}
setValueFieldToPercent() {
this.setRadiusField(STACK_FIELD_END_PERCENT), this.setInnerRadiusField(STACK_FIELD_START_PERCENT);
}
getDimensionField() {
return this._specAngleField;
}
getMeasureField() {
return this._specRadiusField;
}
getDefaultShapeType() {
return "square";
}
}
//# sourceMappingURL=rose-like.js.map