@alicloud/cloud-charts
Version:

146 lines (138 loc) • 4.87 kB
JavaScript
;
// 引入所需要的库和样式
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = exports.Scatter = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _Base2 = _interopRequireDefault(require("../common/Base"));
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 _guide = _interopRequireDefault(require("../common/guide"));
var _label = _interopRequireDefault(require("../common/label"));
var _geomSize = _interopRequireDefault(require("../common/geomSize"));
var _geomStyle = _interopRequireDefault(require("../common/geomStyle"));
var _errorWrap = _interopRequireDefault(require("../common/errorWrap"));
var _index = _interopRequireDefault(require("../themes/index"));
var _common = require("../common/common");
var _autoTimeScale = _interopRequireDefault(require("../common/autoTimeScale"));
var _legendFilter = _interopRequireDefault(require("../common/legendFilter"));
var Scatter = exports.Scatter = /*#__PURE__*/function (_Base) {
(0, _inheritsLoose2["default"])(Scatter, _Base);
function Scatter() {
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 = 'G2Scatter';
return _this;
}
var _proto = Scatter.prototype;
_proto.getDefaultConfig = function getDefaultConfig() {
return {
// padding: ['auto', 'auto', 'auto', 'auto'],
colors: _index["default"].category_12,
xAxis: {
mask: 'auto',
autoRotate: false
},
yAxis: {
min: 0
},
size: 4,
jitter: false,
tooltip: true,
legend: true,
label: false
};
};
_proto.init = function init(chart, config, data) {
// const config = userConfig;
var colors = config.colors,
jitter = config.jitter;
var defs = {
x: (0, _common.propertyAssign)(_common.propertyMap.axis, {
type: config.jitter ? 'cat' : 'linear'
}, config.xAxis),
type: {
type: 'cat'
}
};
defs.y = (0, _common.propertyAssign)(_common.propertyMap.axis, {
type: 'linear',
tickCount: 5,
nice: true
}, config.yAxis);
(0, _autoTimeScale["default"])(defs, this.rawData, this.language || this.context.language);
// rectAutoTickCount(chart, config, defs, false);
// chart.source(data, defs);
chart.scale(defs);
chart.data(data);
// 设置X轴
var xAxis = {};
if (config.jitter) {
xAxis.grid = {
align: 'center',
// 网格顶点从两个刻度中间开始
line: {
style: {
stroke: _index["default"]['widgets-axis-grid'],
lineWidth: 1
// lineDash: [3, 3]
}
}
};
}
// 扰动点图不能打开垂直网格线
if (config.grid && !config.jitter) {
xAxis.grid = {
line: {
style: {
stroke: _index["default"]['widgets-axis-grid'],
lineWidth: 1
}
}
};
}
(0, _rectXAxis["default"])(this, chart, config, xAxis);
// 设置单个Y轴
(0, _rectYAxis["default"])(this, chart, config);
(0, _rectTooltip["default"])(this, chart, config, {
crosshairs: null
}, null, {
crosshairs: {
type: 'xy'
}
});
(0, _legendFilter["default"])(this, chart);
// 绘制辅助线,辅助背景区域
(0, _guide["default"])(chart, config);
var geom = chart.point().color('type', colors).position('x*y').shape('circle');
if (jitter) {
if (typeof jitter === 'object') {
geom.adjust((0, _extends2["default"])({
type: 'jitter'
}, jitter));
} else {
geom.adjust('jitter');
}
}
(0, _geomStyle["default"])(geom, config.geomStyle);
(0, _label["default"])({
geom: geom,
config: config
});
(0, _geomSize["default"])(geom, config.size, 4, 'y', 'x*y*type*extra');
chart.legend('x', false);
chart.legend('y', false);
chart.legend('extra', false);
// fix: 设置 rectLegend 后如果再调用 chart.legend 会生成默认图例
(0, _rectLegend["default"])(this, chart, config, null, 'multiple', 'type');
};
return Scatter;
}(_Base2["default"]);
var Wscatter = (0, _errorWrap["default"])(Scatter);
var _default = exports["default"] = Wscatter;