[英]Charting thousands of points with dojo
我需要 plot 數千個點,使用 dojo 圖表庫可能接近 50,000 個點。 它可以工作,但它肯定非常慢並且落后於瀏覽器。 有什么辦法可以獲得更好的性能嗎?
編輯:
我通過對數據應用渲染過濾器來解決。 本質上,我有一個名為“render”的新項目參數,如果該點預計與其他點重疊,我的 json 源將其設置為 false。 然后,我的 DataSeries 查詢呈現:true 的所有點。 這樣,對於需要所有點的非可視源,所有數據仍然存在,而我的圖表現在運行順利。
偽代碼:
def is_overlapped(x, y, x_round, y_round)
rounded_x = round(x, x_round)
rounded_y = round(y, y_round)
hash = hash_xy(rounded_x, rounded_y)
if(@overlap_filter[hash].nil?)
@overlap_filter[hash] = true
return false
end
return true
end
x_round 和 y_round 可以由 x 和 y 范圍確定,例如 range / 100
我知道這可能不是您正在尋找的答案,但是您是否考慮過簡單地減少您正在繪制的點數? 我不知道圖表的具體 function,但我想大多數具有這么多點的圖表都是不必要的; 並且沒有觀察者能夠了解這種詳細程度。
您的解決方案可能在於繪圖技術,而不是 JavaScript。 例如,您很可能會大大減少點數並使用折線圖而不是散點圖 plot,同時仍將類似級別的信息傳達給您的預期目標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.