2016-09-29 3 views
0

プロットウィンドウ自体から図をCSV形式またはエクスポート可能なマトリックス形式に変換できる方法はありますか。図を編集後にCSVにエクスポート

たとえば、プロットからいくつかの点を削除し、後で使用するためにコードに戻すためにCSVを作成したいとしましょう。

ありがとうございます!

+2

Figureからcsvファイルを作成する理由を教えてください。それはひどい考えです。 Figureをイメージとして保存するか、csvとしてデータを保存しますが、図はcsv –

+0

として保存しないでください。この図には、別の操作をよりスムーズに実行するために必要なアーチファクトがあるためです。私は本質的に、プロット関数から逆方向に作業する方法があるかどうか尋ねています。あなたが私のための答えを持っていない場合、なぜ反応するのか? –

+0

この引数には、csvファイルの必要性を示唆するものは何もありません。 –

答えて

0

あなたが求めていることを簡単に行う方法はありません。最終的には、プロットからデータを抽出するためにオブジェクトハンドルを使いこなす必要があります。

プロットウィンドウ自体から行う必要がない場合は、この回答(How to export data from the graph in Matlab?)はXDataYData(プロットがラインプロットであると仮定します)を抽出する方法を説明しています。あなたはその後、csvwriteを使用して、それを保存することができます:

% Assuming that the data is a line or scatterplot 
line_obj_handles = findobj(gca,'type','line'); 
% This will get the first line, modify this if you need a different one 
handle = line_obj_handles(1); 
% Extract the data 
x = get(handle, 'XData'); % In R2014b or newer, x = handle.XData; also works 
y = get(handle, 'YData'); 
csvwrite('data.csv', [x(:), y(:)]); 

あなたがline_obj_handlesをループするために行う必要があります複数のプロットを持っている場合。

プロットウィンドウから実際に実行する場合は、Figureを.figという名前で保存することができます。これには、図のすべてのデータが含まれます。後で図をロードして同じプロセスを実行して、X/Yデータを抽出してCSVに書き込むことができます。同じ方法で多くのプロットを生成した場合、このアプローチの潜在的な利点は、このプロセスを自動化するためのスクリプトを書くことができることです。

関連する問題