@antv/g2plot
Version:
G2 Plot, a market of plots built with the Grammar of Graphics'
61 lines • 2.18 kB
JavaScript
import { __extends } from "tslib";
import * as _ from '@antv/util';
import { registerPlotType } from '../../base/global';
import StackColumn from '../stack-column/layer';
import { transformDataPercentage } from '../../util/data';
var PercentageStackColumnLayer = /** @class */ (function (_super) {
__extends(PercentageStackColumnLayer, _super);
function PercentageStackColumnLayer() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.type = 'percentageStackColumn';
return _this;
}
PercentageStackColumnLayer.getDefaultOptions = function () {
return _.deepMix({}, _super.getDefaultOptions.call(this), {
label: {
visible: true,
position: 'middle',
offset: 0,
},
yAxis: {
visible: true,
tick: {
visible: false,
},
grid: {
visible: false,
},
title: {
visible: true,
},
label: {
visible: false,
},
},
});
};
PercentageStackColumnLayer.prototype.processData = function (originData) {
var _a = this.options, xField = _a.xField, yField = _a.yField;
return transformDataPercentage(originData || [], xField, [yField]);
};
PercentageStackColumnLayer.prototype.scale = function () {
var metaConfig = {};
var yField = this.options.yField;
metaConfig[yField] = {
tickCount: 6,
alias: yField + " (%)",
minLimit: 0,
maxLimit: 1,
formatter: function (v) {
var formattedValue = (v * 100).toFixed(1);
return formattedValue + "%";
},
};
this.options.meta = metaConfig;
_super.prototype.scale.call(this);
};
return PercentageStackColumnLayer;
}(StackColumn));
export default PercentageStackColumnLayer;
registerPlotType('percentageStackColumn', PercentageStackColumnLayer);
//# sourceMappingURL=layer.js.map