我有一个散乱网格上的三维有限元计算结果。我想用python在一个水平面上插值这些数据,并使用matplotlib在那个平面上绘制结果的等高线。输出文件results.dat包含6列,即x、y、z坐标和三个位移分量。我对第三部分感兴趣。我想在一个100 x 100的矩形网格上进行插值,网格跨度从(-50,10)到(50,110),位置为z=-5。我想过以下几种可能性:
import numpy as np
from scipy.interpolate import grid data
res = np.loadtxt('results.dat')
points = res[:,
我使用scipy的griddate函数进行插值。
在python执行griddata-function时出现的以下错误消息是什么意思?
File "C:\Python25\lib\site-packages\scipy\interpolate\ndgriddata.py", line 182, in griddata
ip = LinearNDInterpolator(points, values, fill_value=fill_value)
File "interpnd.pyx", line 192, in interpnd.LinearNDInterpol
我试着在不均匀分布在矩形包围框中的数据上得到等高线。为了得到这个,我需要玩几个小把戏。我必须使用unset dgrid3d,否则我无法绘制真实的数据。此外,我还必须将等高线绘制成一个表,以便在dgrid3d关闭时绘制轮廓。下面的代码有点麻烦,但是如果等高线的水平是正确的,那么结果或多或少是可以的。在下面的例子中,它们的级别应该上升到2500,而不仅仅是1200。
代码:
### wrong contour line levels with "non-rectangular" data
reset session
# create some test data
set prin
你好,我正在试图绘制一个填充的不均匀数据等高线。列在三张名单上。我的问题是我不能得到光滑的填充轮廓。首先,我使用网格数据将数据从不规则点更改为网格。
import numpy as np
import matplotlib.pyplot as plt
import time as time
from scipy.interpolate import griddata
x = [39, 39, 603, 603, 540.8578720591851, 586.349172503832, 373.99215228030187, 436.4554443169055, 125.717712836294
嗨,我从两个独立的导入文件中提取了两组数据,它们都被导入到python中,并被放在两个独立的列表中,如下所示:
表1的形式如下:
(node, x coordinate, y coordinate, z coordinate)
example list 1: [[1,0,0,0],[2,1,0,0],[3,0,1,0],[4,1,1,0],[5,0,0,1],[6,1,0,1],[7,0,1,1],[8,1,1,1]]
清单2的形式如下:
(x coordinate, y coordinate, z coordinate, temperature)
example list 2: [[0,0,