为什么我的 PyVista 图会生成垂直的标量线,而不是网格上的连续数据分布?

Why does my PyVista plot produce vertical lines of scalars instead of continuous data distribution on my mesh?

提问人:rajiv 提问时间:9/1/2023 最后编辑:rajiv 更新时间:9/5/2023 访问量:67

问:

import xarray as xr
import geovista as gv
from geovista.pantry import oisst_avhrr_sst
import geovista.theme
import numpy as np
import pyvista as pv
from conversion import to_lonlats


def returnClosest(ds,target):
    
    differences = np.abs(ds - target)
    closest_index = differences.argmin()
    closest_element = ds[closest_index]
    return closest_element





# Load sample data
dataset = xr.open_dataset('temp.nc', decode_times=False)
# print(dataset)

# Extract coordinates and variable values
x = dataset['LON1_4501'].values
y = dataset['LAT'].values
lon,lat=np.meshgrid(x,y)
z = dataset['WATER_TEMP'].values[0, 0, :, :]
mesh=pv.StructuredGrid(lon,lat,z)
plotter=pv.Plotter()

plotter.add_mesh(mesh,scalars=z)
plotter.show()

这段代码向我展示了一个网格,其中温度数据以非常奇怪和不规则的方式绘制,我希望它连续绘制,但我找不到一种方法,因为我对 pyvista 很陌生

enter image description here

如果我放大这个图,它会以垂直线的形式显示标量分布,我希望它是连续的

我用不同的数据集以相同的方式绘制了地图,它向我展示了同样的问题

enter image description here

数据集链接:https://github.com/rajivjha0599/cdf/blob/main/time_series.nc

python vtk python-xarray pyvista

评论

0赞 Andras Deak -- Слава Україні 9/2/2023
编辑您的问题,使其包含最小的可重现示例。目前,它有几个引发错误的错别字。与其说“只需选择一个文件并修复列名”,不如链接到特定文件并自己修复列名(在 Stack Overflow 之外托管数据已经不受欢迎,但在这种情况下,这不是主要问题)。您正在绘制的网格没有标量,只有点数据。因此,当我绘制它时,我没有得到任何颜色变化。当您确保编辑后的问题运行并重现您的问题时,还请发布屏幕截图,以便我们查看您看到的内容。
0赞 rajiv 9/5/2023
您好,非常感谢您指导我,因为我对堆栈溢出非常陌生。我已经完成了更改,我真的不知道我应该如何在没有外部链接的情况下为人们提供我的数据集。
0赞 Bane Sullivan 12/3/2023
这看起来像是 C 与 F 排序的经典案例。将值分配给网格时,可能需要执行以下操作:z.ravel(order='F')

答: 暂无答案