【发布时间】:2017-08-05 03:42:31
【问题描述】:
我正在使用library,它在给定对象k 的情况下生成3 个图。
我需要计算产生这些图的数据点 (x,y,z),但问题是这些图来自 k 的函数。
我使用的库是pyKriging,this 是他们的 github 存储库。
他们的示例code 的简化版本是:
import pyKriging
from pyKriging.krige import kriging
from pyKriging.samplingplan import samplingplan
sp = samplingplan(2)
X = sp.optimallhc(20)
testfun = pyKriging.testfunctions().branin
y = testfun(X)
k = kriging(X, y, testfunction=testfun, name='simple')
k.train()
k.plot()
完整的代码、cmets和输出可以在here找到。
总之,我正在尝试获取生成这些图的numpy 数组,以便我可以创建符合我的格式样式的图。
我不了解如何使用 Python 编写库代码,感谢任何帮助!
【问题讨论】:
-
你的格式样式是什么?您可以先设置它们,然后调用
k.plot()。 -
您希望我们搜索
kringing文档和/或代码来找到这个吗?答案在于他们的代码。这不是一般的numpy问题。在pandas中,您使用.values方法从数据帧中提取数组。 -
您可能想直接在
github或pyKriging网站上提出这个问题。这是一个复杂的代码,正如@hpaulj 指出的那样,没有人会仔细阅读代码并为您提供答案。 -
这是一个关于使用开源工具进行编程的有效问题,因此只要在问题中提供了有关哪种绘图样式的足够信息,就可以回答它。由于克里金法在其代码中使用了 numpy 数组和方法,因此 numpy 标记是有效的。所以,再次@yellow01,您应该提供有关您想要样式的详细信息。
-
感谢所有 cmets。起初,我想知道我是否可以以某种方式访问生成图的
numpy数组,而无需通过库。正如@hpaulj 所说,类似于pandas中的.values。 @ImportanceOfBeingErnest 样式只是没有轮廓填充的第一个和第二个图(contour()而不是contourf())。您是否认为实现这一目标的唯一方法是调整原始库,或者我可以在我的代码中放置一个新行?
标签: python numpy matplotlib kriging