rapid-spreadjs 1.0.72 → 1.0.74
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.
- package/dist/index.cjs.js +194 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs.min.js +1 -1
- package/dist/index.cjs.min.js.map +1 -1
- package/dist/index.esm.js +194 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/utils/echarts-all.d.ts +100 -0
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -8093,7 +8093,7 @@ const EChartsUtilsAll = {
|
|
|
8093
8093
|
{
|
|
8094
8094
|
show: true,
|
|
8095
8095
|
text: title,
|
|
8096
|
-
left: '
|
|
8096
|
+
left: '100px',
|
|
8097
8097
|
top: 5,
|
|
8098
8098
|
textStyle: {
|
|
8099
8099
|
fontSize: 12,
|
|
@@ -8150,6 +8150,199 @@ const EChartsUtilsAll = {
|
|
|
8150
8150
|
};
|
|
8151
8151
|
return option;
|
|
8152
8152
|
},
|
|
8153
|
+
/**
|
|
8154
|
+
* 氧化镁含量标准回归曲线方程
|
|
8155
|
+
* @param config 折线配置
|
|
8156
|
+
* @param xDataArr x轴原始数据(二维数组)
|
|
8157
|
+
* @param yDataArr y轴原始数据(二维数组)
|
|
8158
|
+
* @returns 返回ECharts配置项
|
|
8159
|
+
*/
|
|
8160
|
+
chart410: (config, xDataArr, yDataArr, sheet) => {
|
|
8161
|
+
let lineData = JSON.parse(config.chartLinesJson);
|
|
8162
|
+
const chartExtJson = config.chartExtJson == null || config.chartExtJson == undefined ? null : JSON.parse(config.chartExtJson);
|
|
8163
|
+
//y轴原始数据
|
|
8164
|
+
let yDataSource = yDataArr[0]; // [1.2, 5.6, 10.8, 16, 20.8];
|
|
8165
|
+
let title = config.chartTitle, xName = config.chartXName, yName = config.chartYName, legendName = '图例1';
|
|
8166
|
+
//x轴的数据
|
|
8167
|
+
let xData = xDataArr[0]; // [0, 2, 4, 6, 8];
|
|
8168
|
+
//重新处理x轴和y轴的数据,排除x轴后面为0的数据(因为有可能在单元格中,最后一个单元格的值可能没有填,这时候默认传的是0)
|
|
8169
|
+
let xDataCl = [], yDataSourceCl = [];
|
|
8170
|
+
for (let i = 0; i < xData.length; i++) {
|
|
8171
|
+
if (xData[i] != '/' && (i == 0 || (i > 0 && xData[i] != 0))) {
|
|
8172
|
+
xDataCl.push(xData[i]);
|
|
8173
|
+
yDataSourceCl.push(yDataSource[i]);
|
|
8174
|
+
}
|
|
8175
|
+
else if (i > 0 && xData[i] == 0) {
|
|
8176
|
+
break;
|
|
8177
|
+
}
|
|
8178
|
+
}
|
|
8179
|
+
xData = xDataCl;
|
|
8180
|
+
yDataSource = yDataSourceCl;
|
|
8181
|
+
//series的data数据、series的markPoint的data数据、series的markLine的data数据
|
|
8182
|
+
let seriesData = [], markPointData = [], markLineData = [...xData];
|
|
8183
|
+
//此目的是显示更多的x轴数据
|
|
8184
|
+
//假设x轴原始数据为[0, 2, 4, 6, 8],在这个数组中没有1、3、5等数据,此时就可以通过下面的方式进行增加
|
|
8185
|
+
/*
|
|
8186
|
+
for (let i = 0; i < 20; i++) {
|
|
8187
|
+
if (!markLineData.some((item) => item == i)) {
|
|
8188
|
+
markLineData.push(i);
|
|
8189
|
+
}
|
|
8190
|
+
}
|
|
8191
|
+
*/
|
|
8192
|
+
//获取y轴趋势公式对象
|
|
8193
|
+
const gsS = EChartsUtilsComm.calcTrend(xData, yDataSource, xData[0]);
|
|
8194
|
+
//输出方程表达式
|
|
8195
|
+
if (chartExtJson != null) {
|
|
8196
|
+
if (chartExtJson.jxhslSnShScfc != null && chartExtJson.jxhslSnShScfc != undefined) {
|
|
8197
|
+
// console.log('输出公式:',`Y=${getRound(gsS.xl,0.0001)}X+${getRound(gsS.jj,0.0001)}`)
|
|
8198
|
+
if (gsS.xl == '' || gsS.jj == '') {
|
|
8199
|
+
sheet.setValue(chartExtJson.jxhslSnShScfc.row, chartExtJson.jxhslSnShScfc.col, '/');
|
|
8200
|
+
}
|
|
8201
|
+
else {
|
|
8202
|
+
sheet.setValue(chartExtJson.jxhslSnShScfc.row, chartExtJson.jxhslSnShScfc.col, `Y=${EChartsUtilsComm.getRound(gsS.xl, 0.0001)}X+${EChartsUtilsComm.getRound(gsS.jj, 0.0001)}`);
|
|
8203
|
+
}
|
|
8204
|
+
}
|
|
8205
|
+
}
|
|
8206
|
+
let yDataCopy = [];
|
|
8207
|
+
//获取y轴原始数据对应的趋势数据
|
|
8208
|
+
xData.forEach((item, index) => {
|
|
8209
|
+
let curYData = Number(EChartsUtilsComm.getRound(eval(gsS.gs.replace('x', item + '')), 0.01));
|
|
8210
|
+
if (isNaN(curYData)) {
|
|
8211
|
+
curYData = 0;
|
|
8212
|
+
}
|
|
8213
|
+
// seriesData.push([item, curYData]);
|
|
8214
|
+
seriesData.push([item, yDataSource[index]]);
|
|
8215
|
+
yDataCopy.push(curYData);
|
|
8216
|
+
markPointData.push({
|
|
8217
|
+
xAxis: item,
|
|
8218
|
+
yAxis: yDataSource[index],
|
|
8219
|
+
symbol: 'circle',
|
|
8220
|
+
symbolSize: 6,
|
|
8221
|
+
});
|
|
8222
|
+
//console.log(curYData, "curYData")
|
|
8223
|
+
});
|
|
8224
|
+
let yValIsAllNull = false;
|
|
8225
|
+
if (xData.length == 0) {
|
|
8226
|
+
yValIsAllNull = true;
|
|
8227
|
+
}
|
|
8228
|
+
let nullCount = 0;
|
|
8229
|
+
xData.forEach((item) => {
|
|
8230
|
+
if (item[1] == 0 || item[1] == null || item[1] == undefined) {
|
|
8231
|
+
nullCount++;
|
|
8232
|
+
}
|
|
8233
|
+
});
|
|
8234
|
+
if (nullCount == xData.length) {
|
|
8235
|
+
yValIsAllNull = true;
|
|
8236
|
+
}
|
|
8237
|
+
if (yDataCopy.some((item) => item != 0 || item[1] == null || item[1] == undefined)) {
|
|
8238
|
+
yValIsAllNull = false;
|
|
8239
|
+
}
|
|
8240
|
+
let option = {
|
|
8241
|
+
grid: {
|
|
8242
|
+
// show: true,//是否显示外边框线
|
|
8243
|
+
// borderColor: '#f00',//外边框线颜色
|
|
8244
|
+
top: 22,
|
|
8245
|
+
left: !yValIsAllNull ? 30 : 25,
|
|
8246
|
+
right: 10,
|
|
8247
|
+
bottom: 35,
|
|
8248
|
+
containLabel: true,
|
|
8249
|
+
},
|
|
8250
|
+
//提示框组件,参考文档:https://echarts.apache.org/zh/option.html#tooltip
|
|
8251
|
+
tooltip: {
|
|
8252
|
+
trigger: 'axis',
|
|
8253
|
+
formatter: function (datas, ticket) {
|
|
8254
|
+
return datas && datas.length > 0 ? datas[0].value[0] + ':' + datas[0].value[1] : datas[0].data;
|
|
8255
|
+
},
|
|
8256
|
+
},
|
|
8257
|
+
//顶部的标题,参考文档:https://echarts.apache.org/zh/option.html#title
|
|
8258
|
+
title: [
|
|
8259
|
+
{
|
|
8260
|
+
show: true,
|
|
8261
|
+
text: title,
|
|
8262
|
+
left: 'center',
|
|
8263
|
+
top: 0,
|
|
8264
|
+
textStyle: {
|
|
8265
|
+
fontSize: 14,
|
|
8266
|
+
fontWeight: 'normal',
|
|
8267
|
+
},
|
|
8268
|
+
},
|
|
8269
|
+
{
|
|
8270
|
+
show: true,
|
|
8271
|
+
text: xName,
|
|
8272
|
+
left: 'center',
|
|
8273
|
+
bottom: 0,
|
|
8274
|
+
textStyle: {
|
|
8275
|
+
fontSize: 12,
|
|
8276
|
+
fontWeight: 'normal',
|
|
8277
|
+
},
|
|
8278
|
+
},
|
|
8279
|
+
],
|
|
8280
|
+
//图例,参考文档:https://echarts.apache.org/zh/option.html#legend
|
|
8281
|
+
legend: {
|
|
8282
|
+
show: false,
|
|
8283
|
+
left: 'right',
|
|
8284
|
+
data: [legendName],
|
|
8285
|
+
selected: {
|
|
8286
|
+
legendName: true, //显示
|
|
8287
|
+
},
|
|
8288
|
+
selectedMode: 'multiple', //用于控制图例的选择模式(single:单选、multiple:多选、false:禁止选择)
|
|
8289
|
+
},
|
|
8290
|
+
xAxis: {
|
|
8291
|
+
type: 'value',
|
|
8292
|
+
splitLine: { show: false }, // 隐藏分割线
|
|
8293
|
+
axisLabel: { show: false }, // 隐藏刻度值
|
|
8294
|
+
},
|
|
8295
|
+
yAxis: [
|
|
8296
|
+
{
|
|
8297
|
+
type: 'value',
|
|
8298
|
+
name: yName,
|
|
8299
|
+
nameGap: !yValIsAllNull ? 30 : 5,
|
|
8300
|
+
nameRotate: 90,
|
|
8301
|
+
nameLocation: 'middle',
|
|
8302
|
+
},
|
|
8303
|
+
],
|
|
8304
|
+
series: [
|
|
8305
|
+
{
|
|
8306
|
+
name: legendName,
|
|
8307
|
+
type: 'line',
|
|
8308
|
+
smooth: true, //平滑的线条
|
|
8309
|
+
//设置数据点形状(实心),参考文档:https://echarts.apache.org/zh/option.html#series-line.symbol
|
|
8310
|
+
symbol: 'circle', //符号类型
|
|
8311
|
+
symbolSize: 6, //符号大小
|
|
8312
|
+
//线条的颜色
|
|
8313
|
+
lineStyle: {
|
|
8314
|
+
color: lineData[0].lineColor,
|
|
8315
|
+
//线条类型(solid:实线、dashed:粗虚线、dotted:细虚线)
|
|
8316
|
+
type: 'dotted',
|
|
8317
|
+
},
|
|
8318
|
+
//线条上数据点的颜色
|
|
8319
|
+
itemStyle: {
|
|
8320
|
+
color: lineData[0].lineColor,
|
|
8321
|
+
opacity: 0,
|
|
8322
|
+
},
|
|
8323
|
+
data: seriesData,
|
|
8324
|
+
markPoint: {
|
|
8325
|
+
data: markPointData,
|
|
8326
|
+
},
|
|
8327
|
+
markLine: {
|
|
8328
|
+
symbol: false, //取消箭头
|
|
8329
|
+
silent: true, //取消鼠标hover事件
|
|
8330
|
+
label: {
|
|
8331
|
+
position: 'start', //改变label位置
|
|
8332
|
+
formatter: (obj) => obj.value, //格式化显示的x轴标签内容
|
|
8333
|
+
},
|
|
8334
|
+
lineStyle: { color: '#ddd', type: 'solid' },
|
|
8335
|
+
data: markLineData.map((val) => {
|
|
8336
|
+
return {
|
|
8337
|
+
xAxis: val,
|
|
8338
|
+
};
|
|
8339
|
+
}),
|
|
8340
|
+
},
|
|
8341
|
+
},
|
|
8342
|
+
],
|
|
8343
|
+
};
|
|
8344
|
+
return option;
|
|
8345
|
+
},
|
|
8153
8346
|
};
|
|
8154
8347
|
|
|
8155
8348
|
/**
|