首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Anystock不使用Anychart NodeJS

Anystock不使用Anychart NodeJS
EN

Stack Overflow用户
提问于 2021-05-17 09:47:44
回答 2查看 169关注 0票数 0

我正在设置一个node.js服务器,它使用任意图表呈现静态jpg/png图像。

我可以返回示例中的简单示例饼图,但是当我试图返回AnyStock的示例时,会得到一些奇怪的结果。

代码应该在url:xx.xxx.xxx.xx:3000/insert上创建并返回股票图表。相反,代码返回此图表时没有任何图表或烛台:

当我在一个普通的html站点上设置相同的图形时,我会得到以下结果:

node.js代码:

代码语言:javascript
运行
复制
var fs = require('fs');
var express = require('express');
var app = express();
var path = require('path');
var router = express.Router();


app.get('/', function(req, res) {

    var query = require('url').parse(req.url, true).query;

    var stock_id = query.stock_id;
    var type = query.type;

    if (type == "insert") {

        var JSDOM = require('jsdom').JSDOM;
        var jsdom = new JSDOM('<head><script src="https://cdn.anychart.com/releases/8.9.0/js/anychart-core.min.js" type="text/javascript"></script><script src="https://cdn.anychart.com/releases/8.9.0/js/anychart-stock.min.js" type="text/javascript"></script></head><body><div id="container" style="width: 500px; height: 400px;"></div></body>', {
            runScripts: 'dangerously'
        });

        var window = jsdom.window;
        var anychart = require('anychart')(window);
        var anychartExport = require('anychart-nodejs')(anychart);


        var table, mapping, chart;

        table = anychart.data.table();
        table.addData([
            ['2015-12-24', 511.53, 514.98, 505.79, 506.40],
            ['2015-12-25', 512.53, 514.88, 505.69, 507.34],
            ['2015-12-26', 511.83, 514.98, 505.59, 506.23],
            ['2015-12-27', 511.22, 515.30, 505.49, 506.47],
            ['2015-12-28', 510.35, 515.72, 505.23, 505.80],
            ['2015-12-29', 510.53, 515.86, 505.38, 508.25],
            ['2015-12-30', 511.43, 515.98, 505.66, 507.45],
            ['2015-12-31', 511.50, 515.33, 505.99, 507.98],
            ['2016-01-01', 511.32, 514.29, 505.99, 506.37],
            ['2016-01-02', 511.70, 514.87, 506.18, 506.75],
            ['2016-01-03', 512.30, 514.78, 505.87, 508.67],
            ['2016-01-04', 512.50, 514.77, 505.83, 508.35],
            ['2016-01-05', 511.53, 516.18, 505.91, 509.42],
            ['2016-01-06', 511.13, 516.01, 506.00, 509.26],
            ['2016-01-07', 510.93, 516.07, 506.00, 510.99],
            ['2016-01-08', 510.88, 515.93, 505.22, 509.95],
            ['2016-01-09', 509.12, 515.97, 505.15, 510.12],
            ['2016-01-10', 508.53, 516.13, 505.66, 510.42],
            ['2016-01-11', 508.90, 516.24, 505.73, 510.40]
        ]);

        mapping = table.mapAs();
        mapping.addField('open', 1, 'first');
        mapping.addField('high', 2, 'max');
        mapping.addField('low', 3, 'min');
        mapping.addField('close', 4, 'last');
        mapping.addField('value', 4, 'last');

        chart = anychart.stock();
        chart.plot(0).ohlc(mapping).name('ACME Corp.');
        chart.title('AnyStock Basic Sample');
        chart.container('container');
        chart.draw();

        anychartExport.exportTo(chart, 'jpg').then(function(image) {
            fs.writeFile('anychart.jpg', image, function(fsWriteError) {
                if (fsWriteError) {
                    console.log(fsWriteError);
                } else {
                    res.sendFile(path.join(__dirname + '/anychart.jpg'));

                }
            });
        }, function(generationError) {
            console.log(generationError);

        });
    } else if (type == "image") {
        res.sendFile(path.join(__dirname + '/anychart.jpg'));
    }
});

app.listen(3000);

我怀疑我在jsdom中包含JS文件的方式有问题。如果我将jsdom中的两个文件排除在外,就会得到相同的结果。

如果你有什么建议,请告诉我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-19 12:58:52

因此,在等待了几天之后,AnyChart支持返回给我,并给出了上述问题的以下答案:

我们不能保证这个模块能像预期的那样工作。它依赖于在不同操作系统中无法提供稳定版本的许多其他库。

相反,他们建议使用他们的导出服务器解决方案,这与我所寻找的不同。

我们的设置是建立在一个灯服务器上的,所以我们不想一天只运行几张图片就运行另一台服务器。

如果您有一个解决方案的建议,我可以将我的AnyStock图表导出到JPG,PNG或GIF,请告诉我。

谢谢:-)

票数 0
EN

Stack Overflow用户

发布于 2021-05-17 10:05:24

请您检查并共享浏览器控制台消息吗?这往往是故障排除的第一步:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67567413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档