如何将元数据添加到 MATLAB 图?
How to add metadata to MATLAB figure?
总结来自不同测量的大量数据,我在 MATLAB 中创建图形。我想为这些数字添加元数据。
元数据可以是代码版本和有关测量的信息。一种选择是将此信息作为文本直接添加到图中,但这会分散注意力,而且信息可能是大量文本。另一个是将 README 文件添加到包含图形的文件夹中,但是该文件可能会丢失。
有没有办法将此元数据直接附加到 MATLAB 图?我希望在 MATLAB 中打开图形时可以访问数据,而不会分散图形内容的注意力。
使用图中的UserData
属性就可以轻松做到,你可以在其中存储所有"metadata".
在下面的示例中,在图中添加了一个绘图,并将用于绘图的数据保存在图中属性。
您可以通过添加一个用于检索元数据的按钮来改进示例。
如果您的图形实际上是一个 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
总结来自不同测量的大量数据,我在 MATLAB 中创建图形。我想为这些数字添加元数据。
元数据可以是代码版本和有关测量的信息。一种选择是将此信息作为文本直接添加到图中,但这会分散注意力,而且信息可能是大量文本。另一个是将 README 文件添加到包含图形的文件夹中,但是该文件可能会丢失。
有没有办法将此元数据直接附加到 MATLAB 图?我希望在 MATLAB 中打开图形时可以访问数据,而不会分散图形内容的注意力。
使用图中的UserData
属性就可以轻松做到,你可以在其中存储所有"metadata".
在下面的示例中,在图中添加了一个绘图,并将用于绘图的数据保存在图中属性。
您可以通过添加一个用于检索元数据的按钮来改进示例。
如果您的图形实际上是一个 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