2016-10-11 107 views
0

在我問這個問題之前,我已經搜索了一段時間沒有成功的互聯網。對許多專家來說,這看起來確實很簡單。請多多包涵。在Python中獲取x軸值matplotlib

我有一個由matplotlib製作的情節,它作爲plf.Figure返回。請參閱以下內容:

def myplotcode(): 
    x = np.linspace(0, 2*np.pi) 
    y = np.sin(x) 
    print("x in external function", x) 
    y2 = np.cos(x) 
    fig = plf.Figure() 
    ax = fig.add_subplot(111) 
    ax.plot(x, y, 'bo', x, y2,'gs') 
    ax.set_ylabel("Some function") 
    return fig, ax 

我想在調用這個函數做的是能夠從返回斧頭或圖得到所有這些x值。那麼,我明白一個簡單的解決方案就是返回x數組。但是,我試圖儘可能減少回報的數量。

所以,我的問題是:我可以從無花果或斧頭獲取這個x軸數組嗎?

非常感謝你提前。

回答

1

你可以這樣做:

l = ax.axes.lines[0] # If you have more curves, just change the index 
x, y = l.get_data() 

這會給你兩個數組,與xy數據

+0

謝謝你,大衛。這工作。我搜索了軸的文檔,沒有遇到get_data()。 – Xavier

+0

是的,有時使用'IPython'通過使用'tab'來獲得類中的大部分屬性或方法是有用的。在這種情況下,如果你做'l.'和'tab',你會看到所有的曲線屬性:) –

+0

會給你忠告。非常感謝。 – Xavier