跳過到頁腳內容
NODE 說明

Chartjs Node.js(開發者的使用方法)

在當今數據驅動的世界裡,以視覺化的方式呈現資訊已成為有效溝通的基石。 無論是分析商業趨勢、追蹤研究進展,還是理解複雜的資料集,創建引人注目的視覺化效果的能力都至關重要。 Chart.js Node 是一個功能強大且用途廣泛的 JavaScript 程式庫,已成為開發人員輕鬆創建精美圖表和圖形的首選工具。

在本文中,我們將探討 Node.js 的 Chart.js 服務,討論其特性、優勢以及如何利用它在 Node.js 應用程式中釋放資料視覺化的全部潛力。

Chart.js是什麼?

Chart.js是一個開源的 JavaScript 函式庫,允許開發人員為 Web 應用程式建立互動式和響應式圖表。 Chart.js 由 Nick Downie 開發,因其易用性、靈活性以及針對每種圖表類型的廣泛自訂選項而廣受歡迎。 透過 Chart.js,開發人員可以快速建立各種圖表,包括折線圖、長條圖、圓餅圖、雷達圖等等,使其適用於各種視覺化需求。

Chart.js 的主要特性

1.易用性: Chart.js 的設計對初學者友好,它擁有簡單直觀的 API,使用戶能夠輕鬆上手使用 JavaScript 創建圖表。 2.響應式設計:使用 Chart.js 建立的圖表會自動適應不同的螢幕尺寸和設備,確保跨平台一致的檢視體驗。 3.自訂: Chart.js 提供了豐富的選項來自訂圖表的外觀和行為,包括顏色、字體、工具提示、動畫等等。 4.互動性:使用 Chart.js 產生的圖表預設是互動的,允許使用者將滑鼠懸停在資料點上以查看附加資訊並動態地與圖表進行互動。 5.插件系統: Chart.js 具有強大的插件系統,使開發人員能夠根據需要擴展其功能並添加新的圖表類型、動畫和功能。

將 Chart.js 與 Node.js 結合使用

Chart.js 主要設計用於 Web 瀏覽器等客戶端場景,但它也可以與 Node.js 應用程式集成,在伺服器端動態生成圖表。這為在各種基於 Node.js 的專案中使用 Chart.js 開闢了廣闊的可能性,例如產生 PDF 報告、建立儀表板資料視覺化圖表,或產生用於社群媒體分享的 PNG 格式影像。

要將Chart.js 與 Node.js 一起使用,開發人員可以利用chartjs-node-canvas等函式庫,該函式庫為 Node.js 環境提供了 canvas 實作。 這樣一來,開發人員就可以使用 Chart.js API 建立圖表,並將其直接渲染到 canvas 元素中,然後可以將其匯出為圖像或整合到應用程式的其他部分中。

注意:對於在 Node.js 中直接使用 Chart.js 進行伺服器端圖表生成,可以結合chartjs-node-canvas使用回調函數,從而實現動態建立圖表,而無需依賴 CDN 或客戶端腳本標籤。

範例:使用 Chart.js 和 Node.js Canvas 產生圖表

// Import the ChartJSNodeCanvas module
const { ChartJSNodeCanvas } = require('chartjs-node-canvas');

// Create a new instance of ChartJSNodeCanvas providing width and height
const width = 800;
const height = 600;
const chartNode = new ChartJSNodeCanvas({ width, height });

// Define chart data with the type and the datasets
const dataset = {
  type: 'bar',
  data: {
    labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
    datasets: [{
      label: 'Sales',
      data: [65, 59, 80, 81, 56, 55, 40],
      backgroundColor: 'rgba(75, 192, 192, 0.2)',
      borderColor: 'rgba(75, 192, 192, 1)',
      borderWidth: 1
    }]
  },
  options: {
    scales: {
      y: {
        beginAtZero: true
      }
    }
  }
};

// Asynchronously generate the chart image
(async () => {
  const image = await chartNode.renderToBuffer(dataset);
  // The chart image is now a buffer that can be saved or manipulated
})();
// Import the ChartJSNodeCanvas module
const { ChartJSNodeCanvas } = require('chartjs-node-canvas');

// Create a new instance of ChartJSNodeCanvas providing width and height
const width = 800;
const height = 600;
const chartNode = new ChartJSNodeCanvas({ width, height });

// Define chart data with the type and the datasets
const dataset = {
  type: 'bar',
  data: {
    labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
    datasets: [{
      label: 'Sales',
      data: [65, 59, 80, 81, 56, 55, 40],
      backgroundColor: 'rgba(75, 192, 192, 0.2)',
      borderColor: 'rgba(75, 192, 192, 1)',
      borderWidth: 1
    }]
  },
  options: {
    scales: {
      y: {
        beginAtZero: true
      }
    }
  }
};

// Asynchronously generate the chart image
(async () => {
  const image = await chartNode.renderToBuffer(dataset);
  // The chart image is now a buffer that can be saved or manipulated
})();
JAVASCRIPT

在這個程式碼範例中,我們建立了ChartJSNodeCanvas的新實例,並使用與典型的 Chart.js 配置相同的語法定義了圖表資料。 然後我們使用renderToBuffer方法將圖表圖像生成為 Buffer,可以根據需要將其保存到磁碟或在應用程式中顯示。

隆重推出適用於 Node.js 的 IronPDF

IronPDF是一個功能強大的 Node.js 庫,它使開發人員能夠以程式設計方式建立、編輯和操作 PDF 文件。 它提供了一套豐富的功能,可以從 HTML 內容生成 PDF,包括支援 CSS 樣式、圖像和超連結。

Chart.js Node.js(開發者使用方法):圖 1 - IronPDF

開始

透過將 Chart.js Node.js 與 IronPDF 結合使用,開發人員可以無縫地將動態圖表整合到 PDF 報告和文件中,從而創建全面且視覺效果吸引人的文檔,以清晰簡潔的方式傳達複雜的數據。

若要開始在 Node.js 專案中使用 IronPDF 和chartjs-node-canvas ,請使用下列命令安裝它們:

npm i chartjs-node-canvas
npm i @ironsoftware/ironpdf
npm i chartjs-node-canvas
npm i @ironsoftware/ironpdf
SHELL

使用 IronPDF 進行增強

雖然伺服器端動態產生圖表的功能很強大,但將這些圖表嵌入 PDF 報告中可以增強其實用性。 IronPDF 是一個功能強大的 Node.js 庫,它與 Chart.js 生成的圖表圖像無縫集成,使開發人員能夠創建內容全面、視覺效果吸引人的 PDF 報告,並添加動態數據可視化效果。

import { PdfDocument } from "@ironsoftware/ironpdf";
import fs from "fs";

(async () => {
    // Generate HTML content with the chart image embedded as a base64 string
    const htmlContent = `
        <html>
        <head>
            <title>Chart.js PDF Report</title>
        </head>
        <body>
            <h1>Monthly Sales Report</h1>
            <img src="data:image/png;base64,${image.toString('base64')}" />
        </body>
        </html>
    `;

    // Create a PDF from the HTML content
    const pdf = await PdfDocument.fromHtml(htmlContent);

    // Export the PDF to a file
    await pdf.saveAs("sales_report.pdf");
    console.log('PDF report generated successfully!');
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
import fs from "fs";

(async () => {
    // Generate HTML content with the chart image embedded as a base64 string
    const htmlContent = `
        <html>
        <head>
            <title>Chart.js PDF Report</title>
        </head>
        <body>
            <h1>Monthly Sales Report</h1>
            <img src="data:image/png;base64,${image.toString('base64')}" />
        </body>
        </html>
    `;

    // Create a PDF from the HTML content
    const pdf = await PdfDocument.fromHtml(htmlContent);

    // Export the PDF to a file
    await pdf.saveAs("sales_report.pdf");
    console.log('PDF report generated successfully!');
})();
JAVASCRIPT

在這個範例中,我們建立了一個 HTML 頁面,其中包含以 base64 編碼的 PNG 格式嵌入的圖表圖像。 IronPDF 接著將此HTML 內容轉換為 PDF 文檔,從而有效地將動態圖表封裝在靜態 PDF 報告中。 這種無縫整合使開發人員能夠將動態圖表生成的強大功能與 PDF 文件的多功能性相結合,從而創建資訊豐富且視覺效果引人入勝的報告。

結論

Chart.js 是一個功能強大的工具,用於在 Node.js 應用程式中建立動態且美觀的圖表。 無論您是建立 Web 應用程式、產生報告或進行資料視覺化分析,Chart.js 都能提供您所需的靈活性和功能,讓您的資料栩栩如生。透過結合使用 Chart.js 和 Node.js,開發人員可以創建沉浸式資料視覺化效果,從而增強理解、挖掘洞察並提升各種應用程式的使用者體驗。

IronPDF 提供可直接使用的 Node.js 程式碼範例以及完整的入門指南。 請參閱此詳細文件以了解更多詳情。

IronPDF 旨在滿足您的商業需求,提供免費試用,起價為$799 。 有了退款保證,它是提昇文件管理效率的穩健之選。 不要猶豫,立即從 npm 下載 IronPDF ,體驗輕鬆便捷的 PDF 整合!

Darrius Serrant
全棧軟件工程師 (WebOps)

Darrius Serrant 擁有邁阿密大學計算機科學學士學位,目前任職於 Iron Software 的全栈 WebOps 市場營銷工程師。從小就迷上編碼,他認為計算既神秘又可接近,是創意和解決問題的完美媒介。

在 Iron Software,Darrius 喜歡創造新事物,並簡化複雜概念以便於理解。作為我們的駐場開發者之一,他也自願教學生,分享他的專業知識給下一代。

對 Darrius 來說,工作令人滿意因為它被重視且有實際影響。