javascript - 在 Node js 中直接将 chart.js 图表创建为 PNG?

标签 javascript node.js charts chart.js

有什么方法可以使用 Chart.js 直接为 PNG 文件创建条形图?我不想在我的网页上显示图表,我想将它作为图像直接发送到 Facebook Messenger。

我使用以下代码在我的网页上创建了一个条形图:

var ctx = document.getElementById("myChart").msGetInputContext("2d");
                var myChart = new Chart(ctx, {
                    type: 'bar',
                    data: {
                        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
                        datasets: [{
                            label: '# of Votes',
                            data: [12, 19, 3, 5, 2, 3],
                            backgroundColor: [
                                'rgba(255, 99, 132, 0.2)',
                                'rgba(54, 162, 235, 0.2)',
                                'rgba(255, 206, 86, 0.2)',
                                'rgba(75, 192, 192, 0.2)',
                                'rgba(153, 102, 255, 0.2)',
                                'rgba(255, 159, 64, 0.2)'
                            ],
                            borderColor: [
                                'rgba(255,99,132,1)',
                                'rgba(54, 162, 235, 1)',
                                'rgba(255, 206, 86, 1)',
                                'rgba(75, 192, 192, 1)',
                                'rgba(153, 102, 255, 1)',
                                'rgba(255, 159, 64, 1)'
                            ],
                            borderWidth: 1
                        }]
                    },
                    options: {
                        scales: {
                            yAxes: [{
                                ticks: {
                                    beginAtZero:true
                                }
                            }]
                        }
                    }
                });

但在这种特殊情况下,我的用户将通过 Facebook Messenger 而不是网页与我的 Node js 应用程序进行交互。我需要一种无需 html canvas 元素即可创建图表的方法,并且我可以使用 .toBase64Image() 将图表转换为图像。

在此先感谢您的帮助!

最佳答案

Chart.js 建立在 HTML5 canvas 元素之上。

要在 node.js 上使用它,您需要在 Node 中模仿这个元素。

有一个包试图处理为此目的所需的所有库,你可以在这里找到它 chartjs-node

关于javascript - 在 Node js 中直接将 chart.js 图表创建为 PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53243544/

相关文章:

javascript 根据属性值从数组中删除所有对象

javascript - 我们如何为不同的请求类型编写 Joi 模式?

javascript - 比较并匹配 2 个 csv 文件

node.js - 在 React 应用程序之间共享 Node.js 模块?

javascript - 想要在值为零时显示js条形图的一小部分

r - 在 ggplot 中插入值的百分比

angular - 如果我将鼠标悬停在 Plotly 中,如何显示与图例中所述不同的跟踪名称?

php - 如何使用PHP创建YouTube视频库

javascript - Stateful 和 Functional 无状态组件

javascript - 关于数据库异步查询与同步查询的问题