使用颜色作为你的第四维度是可能的(它对你来说是否好看是一个品味问题)。
surf(X,Y,Z,V); #% 4th arg (V) is mapped onto the current colormap
您可以更改颜色图以适合您的口味。
colorbar #% displays a colorbar legend showing the value-color mapping
编辑:发问者希望准确查看未显示数组中的数据,而不仅仅是颜色。这是自定义数据游标功能的工作。下面我使用纯匿名函数实现了这一点;在函数文件中执行此操作会稍微简单一些。
#% Step 0: create a function to index into an array...
#% returned by 'get' all in one step
#% The find(ismember... bit is so it returns an empty matrix...
#% if the index is out of bounds (if/else statements don't work...
#% in anonymous functions)
getel = @(x,i) x(find(ismember(1:numel(x),i)));
#% Step 1: create a custom data cursor function that takes...
#% the additional matrix as a parameter
myfunc = @(obj,event_obj,data) {...
['X: ' num2str(getel(get(event_obj,'position'),1))],...
['Y: ' num2str(getel(get(event_obj,'position'),2))],...
['Z: ' num2str(getel(get(event_obj,'position'),3))],...
['V: ' num2str(getel(data,get(event_obj,'dataindex')))] };
#% Step 2: get a handle to the datacursormode object for the figure
dcm_obj = datacursormode(gcf);
#% Step 3: enable the object
set(dcm_obj,'enable','on')
#% Step 4: set the custom function as the updatefcn, and give it the extra...
#% data to be displayed
set(dcm_obj,'UpdateFcn',{myfunc,V})
现在工具提示应该显示额外的数据。请注意,如果您更改绘图中的数据,则需要重复Step 4
将新数据传递给函数。