2010-06-02 40 views
3

在回答之前關於修復4D數據散點圖的色彩空間問題時,Tom10建議將數值繪製爲符號以便仔細檢查我的數據。一個好主意。我過去曾經運行過一些類似的演示,但是我不能在我的生活中發現我記得很簡單的演示。將散點圖中的值繪製爲符號的最簡單方法?

那麼,在散點圖中將數值繪製爲符號而不是「o」的最簡單方法是什麼? Tom10建議plt.txt(x,y,value) - 這是許多示例中使用的實現。我不知道是否有一種簡單的方法來評估我的數字數組中的「價值」?可以簡單地說:str(valuearray)?

您是否需要一個循環來評估繪圖的值,如matlablotlib演示部分中建議的3D text scatter plots

他們的榜樣產生:

alt text http://matplotlib.sourceforge.net/_images/text3d_demo.png

然而,他們正在做一些評估的位置以及改變基於數據文本方向相當複雜。那麼,有沒有一種可愛的方式來繪製x,y,C數據(其中C是一個常常被當作繪圖數據中的顏色的值 - 但我希望使這個符號變成)?

同樣,我認爲我們對此有一個公平的答案 - 我只是想知道是否有更簡單的方法?

回答

2

我見過這樣做最簡單的方法是:

for x, y, val in zip(x_array, y_array, val_array): 
    plt.text(x, y, val) 

另外,順便說一句,你的建議使用STR(valarray中),而這一點,因爲你可能已經注意到不起作用。爲了數字數組轉換爲字符串的序列可以使用

valarray.astype(str) 

獲得numpy的陣列,或者,

[str(v) for v in valarray] 

得到一個Python列表。但即使用valarray作爲正確的字符序列,plt.text也不會迭代它的輸入。

+0

哦! - 所以你需要迭代plt.text? (抱歉,我最近沒有檢查過stackoverflow-錯過了你的回覆,湯姆!) – AllenH 2010-06-24 00:05:54

相關問題