2016-10-11 70 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