2017-02-13 149 views
1

我想我瞭解如何自定義現有的數據提示,以便在Mathworks video中對其進行描述。但我想要做的是顯示圖上選定點的其他相關數據值。Matlab自定義數據提示顯示相關數據

例如,我可以顯示位置(x,y,z),但是我想顯示與該位置相關的時間。

另外,我在同一個圖上繪製了幾套。對plot函數的每次調用都會返回一個單獨的句柄,因此各個繪圖將按照分層數據結構進行組織,從而將每個實體分開。

例如,我希望自定義數據提示顯示與其數據集相關的值,例如該集的ID值。

有沒有辦法確定與所選數據點(數據提示所指的)相關的圖的句柄?

UPDATE

我注意到,有一個名爲「的UserData」我可以將我的數據,以情節的字段。也許有辦法從數據提示更新功能中獲取這些數據嗎?

更新2

我可以看到數據提示的回調是通過一個名爲「event_obj」手柄。這是一個帶有「目標」和「位置」字段的結構。位置只是圖形上的x,y,z位置。目標是我可以看到我的UserData結構位於的另一個結構。它還包含該圖集中每個數據點的x,y和z值的數組。我現在需要的是數據提到的數據點索引。然後我想我可以用我的UserData完成剩下的工作。

回答

0

數據提示回調函數有兩個參數:objevent_obj

正如在問題中提到,該event_obj結構包含目標字段,它是一個包含用戶可定義的UserData的結構。顯然,任何用戶數據都可以添加到這個結構中。在我的情況下,我添加了所有可能需要的數組,這些數組的值與數據提示光標指向的繪圖對象中繪製的每個點相對應。

檢查其他參數obj後,我看到的是包含對象光標。遊標結構中的一個字段是DataIndex。這顯然是用於繪製X和Y值的數組的索引(如果它是3D圖,則爲Z值)。

因此,利用這些信息,我可以從其他向量中獲得任何其他相應的值,這些值是用原始繪圖句柄附加到對象上的。該對象只是event_obj.Target

現在我已經完全闡述了數據提示以及我可能想要爲數據提示所參考的繪圖項顯示的任何其他對應值。