簡體   English   中英

用 dojo 繪制數千點

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM