3d传染媒介数据的形象化在mathematica的

时间:2016-03-01 20:51:12

标签: wolfram-mathematica data-visualization vector-graphics

我正在尝试以3D形式显示我的数据以及不同颜色的矢量的不同幅度。

到目前为止,我已使用'data = Import [“File”]'导入数据 并使用'vecdata = Partition [#,3]& / @ DeleteDuplicates [data]'

图像应该看起来很接近 Vector map

https://docs.google.com/spreadsheets/d/1PUWVkJ4t3vC1KK8n4NWIjxIbQhl6JWRbeewPMjw9OFg/edit?usp=sharing

1 个答案:

答案 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

enter image description here