我正在尝试以3D形式显示我的数据以及不同颜色的矢量的不同幅度。
到目前为止,我已使用'data = Import [“File”]'导入数据 并使用'vecdata = Partition [#,3]& / @ DeleteDuplicates [data]'
图像应该看起来很接近 Vector map
https://docs.google.com/spreadsheets/d/1PUWVkJ4t3vC1KK8n4NWIjxIbQhl6JWRbeewPMjw9OFg/edit?usp=sharing
答案 0 :(得分:2)
所以ListVectorPlot3D
想要一个向量数组。你拥有的是$ {x_i,y_i,z_i,Vx_i,Vy_i,Vz_i} $元素的列表。如果您的x,y和z点都布置在常规网格上,那么您可以将元素重新排列为正确的格式,但您的数据不在常规网格上。为了解决这个问题,我将创建一个线性插值函数并使用VectorPlot3D
。此外,您的数据有一些重复点,所以我不得不删除它们。
我将您的数据作为CSV文件下载,
data = DeleteDuplicates@
Import["~/Downloads/Cell Well data - Sheet1.csv"][[2 ;;]];
xfunc = Interpolation[(data[[All, ;; 4]]), InterpolationOrder -> 1];
yfunc = Interpolation[(data[[All, {1, 2, 3, 5}]]),
InterpolationOrder -> 1];
zfunc = Interpolation[(data[[All, {1, 2, 3, 6}]]),
InterpolationOrder -> 1];
{{xmin, xmax}, {ymin, ymax}, {zmin, zmax}} =
MinMax /@ Transpose[data][[;; 3]];
VectorPlot3D[{xfunc[x, y, z], yfunc[x, y, z], zfunc[x, y, z]}, {x,
xmin, xmax}, {y, ymin, ymax}, {z, zmin, zmax}] // Quiet