翻譯|行業資訊|編輯:龔雪|2025-10-13 11:19:57.107|閱讀 12 次
概述:本文主要介紹如何使用LightningChart JS創建一個用于可視化歷史和預計收入的JS虛線圖,歡迎下載最新版體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
LightningChart JS是Web上性能特高的圖表庫,具有出色的執行性能 - 使用高數據速率同時監控數十個數據源。 GPU加速和WebGL渲染確保您的設備的圖形處理器得到有效利用,從而實現高刷新率和流暢的動畫,常用于貿易,工程,航空航天,醫藥和其他領域的應用。
本文我們將創建一個虛線折線圖(Dashed Line Chart),它是數據分析中常用、重要的圖表類型之一,非常適合剛開始做數據可視化練習的開發人員。
虛線折線圖是一種折線圖,其中部分或全部線條用虛線代替實線。這種圖表是標準折線圖的一個變體,用于當涉及多個數據系列時讓圖表更清晰,或用來區分不同的信息類型(例如實際數據 vs. 預測數據)。
它常用來:
要遵循這個JavaScript多圖表畫布項目,請下載包含所有必要資源的ZIP文件。
1. 下載提供的模板以便按教程操作。
2. 下載模板后,您會看到如下文件結構(file tree)。
3. 打開終端,運行 npm install 命令。
4. 保持 tsconfig.json 文件中的配置很重要,這些配置會幫助您把 JSON 文件作為數據對象導入。
建議您使用并更新到LightningChart JS 和 的最新版本,這是因為某些 LightningChart JS 的工具在舊版本中并不存在。在項目的 package.json 文件中可以看到 LightningChart JS 的依賴項:
"dependencies": { "@lightningchart/lcjs": "^7.0.2", }
1. 導入類(Importing classes)
將從導入創建圖表所需的類開始。
import {AxisScrollStrategies, emptyFill, lightningChart, isImageFill, SolidFill, ColorRGBA, Themes} from "@lightningchart/lcjs";
2. 添加許可證 Key(免費)
安裝完 LightningChart JS 庫后,我們將在 chart.ts 文件中導入他們。注意,您將需要一個試用許可證(trial license),是免費的。
let license = undefined try { license = 'xxxxxxxxxxxxx' } catch (e) {}
這段代碼用于可視化財務趨勢,用實線表示過去收入,用虛線表示預測收入。它還突出了預測期,并確保圖表保持清晰、易讀和用戶友好。現在我們逐步回顧代碼及其作用。
import revenueData from './revenue.json'; const lcjs = require('@lightningchart/lcjs') const { lightningChart, Themes, emptyFill, AxisTickStrategies, emptyLine, DashedLine, StipplePat
const chart = lightningChart({license:license}) .ChartXY({ theme: Themes.darkGold, }) .setTitle('Historical and projected revenue')
const axisX = chart .getDefaultAxisX() // Configure DateTime X ticks. .setTickStrategy(AxisTickStrategies.DateTime, (ticks) => // Show month, day and year in cursor result table ticks.setCursorFormatter((timestamp) => new Date(timestamp).toLocaleDateString(undefined, { month: 'short', day: '2-digit', year: 'numeric' }) ), )
const axisY = chart
.getDefaultAxisY()
// Configure Y axis formatting as "100 k€"
.setTickStrategy(AxisTickStrategies.Numeric, (ticks) => ticks.setFormattingFunction((euros) => `${(euros / 1000).toFixed(0)} k€`));
const tNow = 1664456233537 const dataPast = revenueData.filter((p) => p.x <= tNow) const dataProjection = revenueData.filter((p) => p.x > tNow) dataProjection.unshift(dataPast[dataPast.Length - 1])
const seriesPast = chart .addPointLineAreaSeries({ dataPattern: 'ProgressiveX', automaticColorIndex: 0 }) .appendJSON(dataPast) .setName('Revenue (past)') .setAreaFillStyle(emptyFill)
const seriesProjection = chart .addPointLineAreaSeries({ dataPattern: 'ProgressiveX', automaticColorIndex: 0 }) .appendJSON(dataProjection) .setStrokeStyle( (stroke) => new DashedLine({ thickness: stroke.getThickness(), fillStyle: stroke.getFillStyle(), pattern: StipplePatterns.Dashed, patternScale: 4, }), ) .setName('Revenue (projected)') .setAreaFillStyle(emptyFill)
axisX .addBand() .setValueStart(dataProjection[0].x) .setValueEnd(dataProjection[dataProjection.length - 1].x) .setStrokeStyle(emptyLine) .setPointerEvents(false) .setEffect(false)
axisX .addCustomTick() .setValue(dataProjection[0].x) .setTickLength(20) .setTextFormatter(() => 'Today')
在終端運行 npm start 命令,在本地服務器上可視化圖表。
這個圖表非常好地可視化了收入趨勢,使我們更容易清晰、有結構地查看歷史數據與未來預測。要達到這個效果:
LightningChart JS所提供的結構化實現讓我們能夠創建一個強大、響應迅速且高度精確的分析圖表。雖然 LC JS 與傳統的 JavaScript 或 jQuery 圖表不同,但其實現方式提供了一個更結構化、易維護、模塊化的方案。
更多產品更新信息歡迎“”了解!
慧都是?家?業數字化解決?案公司,專注于軟件、?油與?業領域,以深?的業務理解和?業經驗,幫助企業實現智能化轉型與持續競爭優勢。
慧都科技是LightningChart的中國區的合作伙伴,LightningChart作為數據可視化領域的優秀產品,通過高性能的GPU加速渲染技術,顯著提升企業在實時數據可視化與海量數據處理方面的效率,尤其適用于需要快速呈現和分析數十億數據點的場景。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉載自:慧都網