Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从matplotlib轴对象获取数据_Matplotlib - Fatal编程技术网

从matplotlib轴对象获取数据

从matplotlib轴对象获取数据,matplotlib,Matplotlib,我试图确定matplotlib上的数据点。对象上是否缺少用于获取x/y数据值的属性 例如,假设我的代码被传递了一个线图,我想打印出所绘制的x/y值。你的图调用将给你一个线。Line2D,它有获取扩展数据(orig=True)和获取扩展数据(orig=True)方法 对于Line2D实例,您可以检查轴。获取子对象() 请注意,从软件设计的角度来看,您所做的事情听起来很可怕。您应该实现类似于打印原始数据的plot包装器的功能 @JRichardSnape补充说,如果您的绘图仅为直线,则可以使用get

我试图确定matplotlib上的数据点。对象上是否缺少用于获取x/y数据值的属性


例如,假设我的代码被传递了一个线图,我想打印出所绘制的x/y值。

你的
调用将给你一个
线。Line2D
,它有
获取扩展数据(orig=True)
获取扩展数据(orig=True)
方法

对于
Line2D
实例,您可以检查轴。获取子对象()

请注意,从软件设计的角度来看,您所做的事情听起来很可怕。您应该实现类似于打印原始数据的
plot
包装器的功能


@JRichardSnape补充说,如果您的绘图仅为直线,则可以使用
get_lines()
而不是过滤
get_children()

的输出,谢谢您的帮助。我不同意你关于“从软件设计的角度看很可怕”的评论。我正在尝试使用第三方库返回绘图。我不是自己创造情节的。因此,我必须询问绘图的“数据”是什么。@durden2.0:我没有说您的设计选择很糟糕:)@durden2.0此外,也许您可以在matplotlib安装中将axes.plot函数重命名为类似axes.oldplot的函数,并编写最小的包装器。或者,只要修改你正在使用的软件的源代码,如果你能得到的话。对于任何绘制数据的东西,我会两次敦促作者给你源代码——不要相信任何你没有伪造的图形表示!这是一个很好的观点。我可以在matplotlib或其他库中更改源代码。然而,当我升级任何一个库时,我必须记住这一变化。如果可能的话,我会尽量避免修改其他软件包,以避免破坏这些库中的任何东西,并为这么小的更改维护我自己的fork。一个小提示-我本来打算写一个答案,但似乎这已经解决了它。如果(并且仅当,我认为)绘图上的数据是线(而不是由
plt.scatter()
生成的集合),则可以使用
get_lines()
而不是
get_children()
,然后只获得
Line2D
对象,而不是所有需要过滤的艺术家。