javascript - amCharts 中的序列图显示不同的行为

标签 javascript amcharts

我正在使用amCharts对于我的应用程序。最近我将其从版本 3.17.0 更新到 3.20.6

在我的应用程序中,我使用带有 capture 方法的导出来捕获图像,如下所示:

if (window.fabric) {
                    clearTimeout(interval);

                    // CAPTURE CHART
                    chart.export.capture({}, function() {

                        // SAVE TO JPG
                        this.toPNG({}, function(base64) {

                            //some code
                                                    });
                    });
                }
 }, 10); 

在我带有图表光标的串行图表中,它在以前的版本中工作正常,如下所示。看图片:amChart version 3.17.0

更新版本后,它显示出奇怪的行为:ChartCursor 消失了,并且在拖动光标时它在图表上绘制线条。 amChart version 3.20.6

我已经检查了 amChart 网站,我已经正确设置了所有内容。

这里可能出了什么问题?

如果我禁用chart.export.capture,它会正常工作。
这是我设置属性图表的代码:

"type": "serial",
                "theme": "none",
                "pathToImages": "resources/javascript/amcharts/images/",
                "marginTop": 1,
                "marginBottom": 1,
                "autoMarginOffset": offsetM,
                //left hand side space between container and chart
                "zoomOutButtonRollOverAlpha": 0.15,

                "zoomControl": {
                    "zoomControlEnabled": true,
                    "backgroundAlpha": "0.15",
                    "backgroundColor": "#000000"
                },

                "dataProvider": valueChartData,
                "columnWidth": 1,
                "categoryField": "date",
                "categoryAxis": {
                    "minPeriod": "DD",
                    "parseDates": true
                },

                "export": {
                    "enabled": false,
                    "menu": []
                }

用于导出和克隆图表:

var interval = setInterval(function() {
                    if (window.fabric) {
                        clearTimeout(interval);

                        // CAPTURE CHART
                        main.pageContainerBulkMarketing.bulkmarketing.pageContainerBMReports.reports.chart["export"].capture({}, function() {

                            // SAVE TO JPG
                            this.toPNG({}, function(base64) {

                                somewhere.OpenedTabGrpClone = "";
                                somewhere.OpenedTabGrpClone = base64;
                            });
                        });
                    }
                }, 10);

注意:我观察到一件事:它在我们的图表 div 上添加了一个 Canvas 标签,就像:

<canvas class="upper-canvas " style="position: absolute; width: 802px; height: 360px; left: 0px; top: 0px; -moz-user-select: none; cursor: crosshair;" width="802" height="360"></canvas>

更新:这里我添加了jsfiddle但是,在这里它工作得很好,我花了这段时间来弄清楚为什么它对我不起作用;结果:无。

最佳答案

简单地做到这一点

1)检查你的库链接和插件代码,是否会干扰其他js或插件。

2) 还可以使用实时 amchart 库测试您的代码。

3) 如果一切正常并且工作正常,则将 Canvas 标记的 Z-index 设置为 -1。

关于javascript - amCharts 中的序列图显示不同的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37653985/

相关文章:

javascript - 将图像放入使用 jsReport 生成的 pdf 中

javascript - 如何在 jQuery/JS 的同一页面上的 4 个 div 中加载 4 个不同的页面(包含 d3js 图)?

javascript - 如何在重定向前保持页面 5 秒

javascript - 异步 Angular Promise 和变量初始化

javascript - 如何在 amcharts 中生成具有 4 个条件的表格

javascript - 模块版本不匹配

php - 选择计数字符串,然后将它们分组为饼图

javascript - 如何在 amCharts Bullets 周围添加垂直短线?

javascript - amcharts 4 : Removing side padding on graphic starting point

javascript - 如何使用 Angular 路由在 amCharts 世界地图上显示标记?