原創(chuàng)|行業(yè)資訊|編輯:何家巧|2023-01-04 11:06:18.653|閱讀 149 次
概述:本文將帶來(lái)如何使用 LightningChart 創(chuàng)建 JavaScript 散點(diǎn)圖,主要從2個(gè)方面講解,一是LightningChart JS XY 圖表的功能應(yīng)用,二是講解如何使用 LightningChart JS 創(chuàng)建嵌入式散點(diǎn)圖并向其添加自定義交互功能。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
LightningChart JS是一款高性能的JavaScript圖標(biāo)庫(kù),專(zhuān)注于實(shí)時(shí)數(shù)據(jù)可視化,以“快如閃電”享譽(yù)全球,是Microsoft Visual Studio數(shù)據(jù)展示速度最快的2D和3D圖表制圖組件,可實(shí)時(shí)呈現(xiàn)超過(guò)10億數(shù)據(jù)點(diǎn)的海量數(shù)據(jù)。
本文將帶來(lái)如何使用 LightningChart 創(chuàng)建 JavaScript 散點(diǎn)圖,主要從2個(gè)方面講解,一是LightningChart JS XY 圖表的功能應(yīng)用,二是講解如何使用 LightningChart JS 創(chuàng)建嵌入式散點(diǎn)圖并向其添加自定義交互功能。
這個(gè)圖表將可視化一個(gè)XY坐標(biāo)列表和一個(gè)自定義屬性,這些自定義屬性可以與UI文本元素一起顯示,實(shí)現(xiàn)與用戶(hù)的鼠標(biāo)操作互動(dòng)。
const chart = lightningChart().ChartXY()
const pointSeries = chart.addPointSeries()
pointSeries.add(new Array(100).fill(0).map(() => ({
x: Math.random(),
y: Math.random()
})))
將自定義屬性附加到數(shù)據(jù)點(diǎn)
在為 Lightning Chart JS 提供數(shù)據(jù)時(shí),我們采用了 JavaScript 對(duì)象的格式,它允許任意數(shù)量的鍵:值組合。在前面的代碼片段中,我們看到了創(chuàng)建具有 X 和 Y 屬性的 JavaScript 對(duì)象:
const point = { x: 0, y: 0 }
添加自定義數(shù)據(jù)點(diǎn)屬性就像人們猜測(cè)的那樣簡(jiǎn)單:在 x 和 y 之后添加它們:
const point = { x: 0, y: 0, custom: 'abcdefg' }
然后可以將這些自定義屬性與數(shù)據(jù)游標(biāo)、從鼠標(biāo)位置求解數(shù)據(jù)點(diǎn)等一起使用。在本示例中,我們將它們與 UI 文本元素一起使用。
如何添加交互式 UI 文本元素?
此代碼添加一個(gè)標(biāo)簽,將其放置在數(shù)據(jù)點(diǎn)旁邊,并將其設(shè)置為顯示數(shù)據(jù)“自定義”屬性中的文本。
const label = chart.addUIElement(
UIElementBuilders.TextBox,
{ x: xAxis, y: yAxis }
)
label
.setPosition(point)
.setMargin({ bottom: 10 })
.setText(point.custom)
我們還可以在這里做一個(gè)小標(biāo)識(shí),這對(duì)我們以后的工作會(huì)有很大幫助。讓我們?yōu)閿?shù)據(jù)點(diǎn)添加另一個(gè)自定義屬性--UI文本元素。
point.label = label
最后一步是跟隨用戶(hù)的鼠標(biāo)移動(dòng)并通過(guò)將其著色為純白色來(lái)激活最近的數(shù)據(jù)點(diǎn)。當(dāng)用戶(hù)將鼠標(biāo)移動(dòng)到數(shù)據(jù)點(diǎn)時(shí),顏色標(biāo)簽將變?yōu)榘咨?/span>
chart.onSeriesBackgroundMouseMove((_, event) => {
const nearestDataPoint = pointSeries.solveNearestFromScreen(chart.engine.clientLocation2Engine(event.clientX, event.clientY))
if (nearestDataPoint) {
label.setFillStyle(new SolidFill({ color: ColorRGBA(255, 255, 255) }))
}
})
結(jié)果這是嵌入圖表的最終結(jié)果。單擊嵌入式圖表右上角的圖標(biāo),可以在 GitHub 中找到完整的源代碼。
歡迎加入LightningChart技術(shù)交流群,獲取最新產(chǎn)品咨詢(xún):740060302
想了解Lightning Charts JS 購(gòu)買(mǎi)/授權(quán)/試用下載,歡迎咨詢(xún)。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn