找回密码
 立即注册

QQ登录

只需一步,快速开始

许少雄

金牌服务用户

12

主题

22

帖子

84

积分

金牌服务用户

积分
84

[处理中] 图形异常

许少雄
金牌服务用户   /  发表于:2024-10-31 14:02  /   查看:232  /  回复:7
1金币
e55d2f66abc8787ce13b14bc7874c64.png 0c38401a4842a58593d43339f843d7b.png 图形异常.ssjson (238.97 KB, 下载次数: 6)

7 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-10-31 14:18:27
沙发
您好,我确认一下,这个现象是您将附件中的SSJSON导入到SpreadJS中后再导出为PDF出现的吗?
回复 使用道具 举报
许少雄
金牌服务用户   /  发表于:2024-10-31 14:40:21
板凳
Joestar.Xu 发表于 2024-10-31 14:18
您好,我确认一下,这个现象是您将附件中的SSJSON导入到SpreadJS中后再导出为PDF出现的吗?

是的 导出后有问题
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-10-31 15:06:18
地板
了解了,这边尝试复现一下,后续有进展我会在本贴中回复您。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-1 09:56:40
5#
您好,我这边测试了一下,未能在SpreadJS导出PDF复现出问题来,能否请您确认一下复现步骤?

image.png791322936.png
回复 使用道具 举报
许少雄
金牌服务用户   /  发表于:2024-11-5 10:38:49
6#
resetChartBoundaries() {
      let sheet = this.spread.getActiveSheet();
      let charts = sheet.charts.all(); // 获取所有图表

      charts.forEach((chart, chartIndex) => {
        let axes = chart.axes();
        let series = chart.series().get();
        if (!this.boundariesAdjusted) {
          // 保存原始界限
          this.originalAxes[chartIndex] = {
            primaryValue: { ...axes.primaryValue },
            primaryCategory: { ...axes.primaryCategory },
          };

          series.forEach((serie) => {
            if (serie) {
              // let xMax = serie.xValues ? Math.max(...serie.xValues) : null;
              // let xMin = serie.xValues ? Math.min(...serie.xValues) : null;
              // let yMax = serie.yValues ? Math.max(...serie.yValues) : null;
              // let yMin = serie.yValues ? Math.min(...serie.yValues) : null;
              // let xMax = serie.xValues ? chart.series().K0i.Max : null;
              // let xMin = serie.xValues ? chart.series().K0i.Min : null;
              // let yMax = serie.yValues ? chart.series().nvi.Max : null;
              // let yMin = serie.yValues ? chart.series().nvi.Min : null;
              if (axes.primaryValue) {
                // axes.primaryValue.max =
                //   yMax !== null
                //     ? yMax + axes.primaryValue.majorUnit * 4
                //     : (axes.primaryValue.max - axes.primaryValue.min) * 0.3;
                // axes.primaryValue.min =
                //   yMin !== null
                //     ? yMin - axes.primaryValue.majorUnit * 4
                //     : (axes.primaryValue.max - axes.primaryValue.min) * 0.3;
                axes.primaryValue.max = NaN;
                axes.primaryValue.min = NaN;
              }

              if (axes.primaryCategory) {
                // axes.primaryCategory.max =
                //   xMax !== null
                //     ? xMax + axes.primaryCategory.majorUnit * 4
                //     : (axes.primaryCategory.max - axes.primaryCategory.min) *
                //       0.3;
                // axes.primaryCategory.min =
                //   xMin !== null
                //     ? xMin - axes.primaryCategory.majorUnit * 4
                //     : (axes.primaryCategory.max - axes.primaryCategory.min) *
                //       0.3;
                axes.primaryCategory.max = NaN;
                axes.primaryCategory.min = NaN;
              }
            }
          });

          chart.axes(axes);
        } else {
          // 恢复原始界限
          let originalAxes = this.originalAxes[chartIndex];
          if (originalAxes) {
            chart.axes(originalAxes);
          }
        }
      });

      this.boundariesAdjusted = !this.boundariesAdjusted; // 切换标志状态
    },
678db2957c761ed460f1e3679e86eb0.png767485351.png
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-11-5 13:35:25
7#
您好,请问您的代码中是出于什么需求需要设置primaryCategory.max和primaryCategory.min为NaN呢?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:6 天前
8#
您好,可以参考附件中的代码实现居中图表的需求。

code.txt

2.27 KB, 下载次数: 3

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部