2

plot(X)ここXで、はn行k列の行列を使用しています。これは、点を含むkプロットを生成しますn

このプロットの凡例を表示するにはどうすればよいですか?さらに重要なことに、特定のプロットを表示するかどうかを確認するためのチェックボックスを表示する簡単な方法はありますか?

4

2 に答える 2

1

例:

x = cumsum(rand(100,3)-0.5);         %# three series with 100 points each
h = plot(x);
legend(h, {'first' 'second' 'third'})

スクリーンショット

于 2012-07-20T15:45:22.397 に答える
1

ドキュメントのこのセクションは役に立つと思います。
表形式のデータを表示およびグラフ化する GUI
http://www.mathworks.com/help/techdoc/creating_guis/bropmbk-1.html

柔軟な凡例のダーティな実装を取得するには、ファイル内のplot_callback関数にこの本体を使用してください。tableplot.m

function plot_callback(hObject, eventdata, column)
% hObject     Handle to Plot menu
% eventdata   Not used
% column      Number of column to plot or clear

colors = {'b','m','r'}; % Use consistent color for lines
colnames = get(htable, 'ColumnName');
colname = colnames{column};
lgidx = get(haxes, 'UserData');
if isempty(lgidx)
   lgidx = false(size(colnames));
end

if get(hObject, 'Value')
    % Turn off the advisory text; it never comes back
    set(hprompt, 'Visible', 'off')
    % Obtain the data for that column
    ydata = get(htable, 'Data');
    set(haxes, 'NextPlot', 'Add')
    % Draw the line plot for column
    hplot = plot(haxes, ydata(:,column),...
             'DisplayName', colname,...
             'Color', colors{column});
    lgidx(column) = true;
else % Adding a line to the plot
    % Find the lineseries object and delete it
  hplot = findobj(haxes, 'DisplayName', colname);
  lgidx(column) = false;
  delete(hplot);
end
if any(lgidx)
  legend(haxes, colnames{lgidx} );
else
  legend(haxes, 'off')
end
  set(haxes, 'UserData', lgidx);
end
于 2012-07-19T14:19:21.060 に答える