@easyv/charts 1.5.26 → 1.5.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -451,9 +451,10 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
451
451
 
452
452
  if (target && target.data[0]) {
453
453
  dataUnit = target.data[0].data.__unit__;
454
- }
454
+ } //如果纵坐标没有对应的值,则不显示
455
+
455
456
 
456
- return /*#__PURE__*/_react["default"].createElement(_.Axis, (0, _extends2["default"])({
457
+ return axisType != "x" && !target ? null : /*#__PURE__*/_react["default"].createElement(_.Axis, (0, _extends2["default"])({
457
458
  ref: function ref(d) {
458
459
  axisElList.current[index] = d;
459
460
  },
@@ -23,6 +23,17 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
23
23
 
24
24
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
25
 
26
+ //扩张系数,用于扩大数据的最大最小值范围,达到图表尽量居中显示的效果
27
+ var extentRatio = 0;
28
+
29
+ var extentRange = function extentRange(value, type) {
30
+ if (value >= 0) {
31
+ return type == "min" ? value * (1 - extentRatio) : value * (1 + extentRatio);
32
+ } else {
33
+ return type == "min" ? value * (1 + extentRatio) : value * (1 - extentRatio);
34
+ }
35
+ };
36
+
26
37
  var stackData = function stackData(data, series) {
27
38
  var dataMap = (0, _d3v.group)(data, function (d) {
28
39
  return d.x;
@@ -43,7 +54,7 @@ var stackData = function stackData(data, series) {
43
54
  if (d && d.y !== undefined && !isNaN(d.y)) {
44
55
  var currentStack = (0, _utils.getCurrentStack)(stack, stacks);
45
56
 
46
- if (stack && currentStack) {
57
+ if (stack && currentStack && currentStack.stack) {
47
58
  if (d.y >= 0) {
48
59
  currentStack.positive += d.y;
49
60
  arr.push(currentStack.positive);
@@ -61,7 +72,7 @@ var stackData = function stackData(data, series) {
61
72
  max = Math.max.apply(Math, arr.concat([max]));
62
73
  });
63
74
  dataMap.clear();
64
- return [min || 0, max == undefined ? (min || 0) + 100 : max];
75
+ return [extentRange(min || 0, "min"), extentRange(max == undefined ? (min || 0) + 100 : max, "max")];
65
76
  };
66
77
  /**
67
78
  * 计算轴的domain
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyv/charts",
3
- "version": "1.5.26",
3
+ "version": "1.5.28",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -386,7 +386,8 @@ const Chart = memo(
386
386
  if(target && target.data[0]){
387
387
  dataUnit = target.data[0].data.__unit__;
388
388
  }
389
- return (
389
+ //如果纵坐标没有对应的值,则不显示
390
+ return axisType!="x" && !target?null:(
390
391
  <Axis
391
392
  ref={(d) => {
392
393
  axisElList.current[index] = d;
@@ -8,13 +8,21 @@ import {
8
8
  getCurrentStack,
9
9
  } from "../utils";
10
10
 
11
+ //扩张系数,用于扩大数据的最大最小值范围,达到图表尽量居中显示的效果
12
+ const extentRatio = 0;
13
+ const extentRange = (value, type)=>{
14
+ if(value>=0){
15
+ return type=="min"?value*(1-extentRatio):value*(1+extentRatio);
16
+ }else{
17
+ return type=="min"?value*(1+extentRatio):value*(1-extentRatio);
18
+ }
19
+ }
11
20
  const stackData = (data, series) => {
12
21
  const dataMap = group(data, (d) => d.x);
13
22
  const stacks = getStacks(series);
14
23
 
15
24
  let min, max;
16
25
  max = min = d3Min(data, (d) => d.y);
17
-
18
26
  dataMap.forEach((value) => {
19
27
  const arr = [];
20
28
  resetStacks(stacks);
@@ -23,7 +31,7 @@ const stackData = (data, series) => {
23
31
  const stack = series.get(d.s);
24
32
  if (d && d.y !== undefined && !isNaN(d.y)) {
25
33
  const currentStack = getCurrentStack(stack, stacks);
26
- if (stack && currentStack) {
34
+ if (stack && currentStack && currentStack.stack) {
27
35
  if (d.y >= 0) {
28
36
  currentStack.positive += d.y;
29
37
  arr.push(currentStack.positive);
@@ -40,7 +48,7 @@ const stackData = (data, series) => {
40
48
  max = Math.max(...arr, max);
41
49
  });
42
50
  dataMap.clear();
43
- return [min || 0, max==undefined?(min || 0) + 100:max];
51
+ return [extentRange(min || 0, "min"), extentRange(max==undefined?(min || 0) + 100:max, "max")];
44
52
  };
45
53
 
46
54
  /**