【发布时间】:2015-06-13 12:44:32
【问题描述】:
我正在尝试创建一个如下图第三列所示的图形:
Link for the image 用于备份。
基本上我有 200 个粒子的 x 和 y 位置,并且我有这 200 个位置的 MSD 数据。我希望 MSD 是应该确定坐标(x,y) 中粒子的颜色图的值。所以MSD应该像高度,或者(x,y)中每个粒子对应的z位置。
我对自己的无能感到惊讶,因为过去几天我一直在尝试解决这个问题,但 Google 搜索都没有给我任何结果。我发现最接近的是 Matlab 和 R 中的“自组织图”概念,但我不知道如何使用 R 和 Matlab 的 SOM 工具箱对我的需求非常有用。
我在 Matlab 中尝试了以下代码,结果得到了附图:
clear all; close all; clc;
x = (dlmread('xdata.dat'))'; % x is 1x200 array
y = (dlmread('ydata.dat'))'; % y is 1x200 array
msd = (dlmread('msd_field.txt'))'; % msd is 1x200 array
[X,Y] = meshgrid(x,y);
Z = meshgrid(msd);
z = [X; Y; Z];
surf(z)
但我认为这个情节根本没有用。我想要的是一个描绘粒子位置的(x,y) 的二维散点图,并且在该颜色代码的顶部,这个散点图以及存储在 msd 中的值就像我在开始时显示的图一样。如何通过 Matlab 或任何其他可视化工具创建它?提前谢谢你。
【问题讨论】:
标签: r matlab matplotlib gnuplot matlab-figure