Matt's answers are the preferred ways, but he happened to overlook a possibility to do what you showed:
set(pb1, 'Callback', ...
['plot(subsref(load(''SomeMatFile'',''variable1''), ', ...
'struct(''type'', ''.'', ''subs'', ''variable1''))' ] );
That is, the Callback can be set to a string that will be executed in the "base workspace". The command indicated by the string loads variable1 from the file, and returns a structure array that has variable1 as a field name; the field is then extracted by the subsref call, and the data that results is then plotted by plot().
You might even be able to use a string that has multiple commands separated with ';', but I have not experimented with that myself. I avoid using this kind of callback construction, doing so only when the alternatives are worse.
Best Answer