总结来自不同测量的大量数据,我在MATLAB中创建了图形。我想在这些图中添加元数据。
元数据可以是代码版本和有关测量的信息。一种选择是将信息明确地添加为图中的文本,但这会分散注意力,并且该信息可能是大量文本。另一种是将README文件添加到包含图形的文件夹中,但是此文件可能会丢失。
有没有一种方法可以将此元数据直接附加到MATLAB图形?我希望在MATLAB中打开图形时可以访问数据,而不会分散图形内容的注意力。
答案 0 :(得分:3)
您可以通过使用图形的UserData
属性轻松地完成此操作,并在其中存储所有“元数据”。
在下面的示例中,在地物中添加了一个图,并将用于该图的数据保存在Figure属性中。
您可以通过添加示例(用于添加元数据的按钮)来改进示例。
如果您的图形实际上是GUI,则可以添加例如显示到元数据的文本字段。
% Create a Figure
my_fig=figure
% Define some data
t=0:.01:360;
y=sind(t);
% Plot data
plot(t,y);
grid minor
% Create a struct in which to store the data
metadata_struct.version=1.3
metadata_struct.t_values=t
metadata_struct.y_values=y
% Assign the struct with the metadata to the "UserData" property
my_fig.UserData=metadata_struct
% Save the Figure
savefig(gcf,'my_fig_with_metadata.fig')
% Open the Figure
fig=openfig('my_fig_with_metadata.fig')
% Get the Metadata
fig_metadata=fig.UserData
% Use use the MEtadata
fig_metadata.version