@alicloud/cloud-charts
Version:

109 lines (105 loc) • 3.75 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = exports.Hexagonal = void 0;
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _Base2 = _interopRequireDefault(require("../common/Base"));
var _dataSet = require("@antv/data-set/lib/data-set");
var _errorWrap = _interopRequireDefault(require("../common/errorWrap"));
var _index = _interopRequireDefault(require("../themes/index"));
var _common = require("../common/common");
var _rectXAxis = _interopRequireDefault(require("../common/rectXAxis"));
var _rectYAxis = _interopRequireDefault(require("../common/rectYAxis"));
var _rectTooltip = _interopRequireDefault(require("../common/rectTooltip"));
var _rectLegend = _interopRequireDefault(require("../common/rectLegend"));
var _geomSize = _interopRequireDefault(require("../common/geomSize"));
var _geomStyle = _interopRequireDefault(require("../common/geomStyle"));
require("@antv/data-set/lib/api/statistics");
require("@antv/data-set/lib/transform/bin/hexagon");
var Hexagonal = exports.Hexagonal = /*#__PURE__*/function (_Base) {
(0, _inheritsLoose2["default"])(Hexagonal, _Base);
function Hexagonal() {
var _this;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _Base.call.apply(_Base, [this].concat(args)) || this;
_this.chartName = 'G2Hexagonal';
return _this;
}
var _proto = Hexagonal.prototype;
_proto.getDefaultConfig = function getDefaultConfig() {
return {
colors: _index["default"].order_10,
tooltip: {
titleFormatter: null,
nameFormatter: null,
valueFormatter: null
},
legend: {
align: 'left',
nameFormatter: null // 可以强制覆盖,手动设置label
}
};
};
_proto.init = function init(chart, config, data) {
// 设置数据度量
var defs = {
// x: propertyAssign(
// propertyMap.axis,
// {
// type: 'cat',
// },
// {
// visible: false,
// },
// ),
y: (0, _common.propertyAssign)(_common.propertyMap.axis, {}, {
visible: false,
nice: true
}),
count: {
nice: true
}
};
chart.scale(defs);
var ds = new _dataSet.DataSet({
state: {
sizeEncoding: false
}
});
var hexagonalDataView = ds.createView().source(this.rawData).transform({
// sizeByCount: '$state.sizeEncoding', // calculate bin size by binning count
type: 'bin.hexagon',
fields: ['x', 'y'],
// 对应坐标轴上的一个点
bins: [10, 5]
});
chart.data(hexagonalDataView.rows);
// 设置X轴
(0, _rectXAxis["default"])(this, chart, config);
(0, _rectYAxis["default"])(this, chart, config);
// 设置图例
(0, _rectLegend["default"])(this, chart, config, {}, 'multiple', 'count');
// tooltip
(0, _rectTooltip["default"])(this, chart, config, {}, null, {
showCrosshairs: false,
showMarkers: false
});
drawHexagonal(chart, config, config.colors);
};
return Hexagonal;
}(_Base2["default"]);
var Whexagonal = (0, _errorWrap["default"])(Hexagonal);
var _default = exports["default"] = Whexagonal;
function drawHexagonal(chart, config, colors, field) {
if (field === void 0) {
field = 'count';
}
var size = config.size;
var geom = chart.polygon().position(['x', 'y']).color(field, colors);
(0, _geomSize["default"])(geom, size, null, 'y', 'y*count*extra');
(0, _geomStyle["default"])(geom, config.geomStyle, {
lineWidth: 2
}, 'y*count*extra');
}