2016-09-29 104 views
0

有沒有什麼辦法可以將圖形從圖形窗口本身轉換爲csv或可導出的矩陣格式。編輯後將圖形導出爲csv

我們假設您想從圖中刪除一些點,然後想從中創建一個csv,以便將其放回到您的代碼中供以後使用。

謝謝!

+2

你爲什麼要從圖中創建一個csv文件。這是一個可怕的想法。或者將圖保存爲圖像或將數據保存爲csv,但不能將圖保存爲csv –

+0

因爲該圖有我需要擺脫的工件以更順利地執行另一個操作。我基本上是問是否有一種方法可以從plot函數向後工作。如果您對我沒有答案,爲什麼要麻煩迴應? –

+0

這個參數沒有任何建議需要csv文件。 –

回答

0

有沒有簡單的方法來做你在問什麼;最終你需要使用對象句柄來從圖中提取數據。 ()描述瞭如何提取XDataYData(假設你的圖是一個線圖);如果你不需要從圖窗口本身來做,那麼這個答案(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 for循環做。

如果您確實想從繪圖窗口中執行此操作,則可以將該圖保存爲.fig文件。這將包含圖中的所有數據;您可以稍後加載該圖並執行相同的過程來提取X/Y數據並將其寫入CSV。這種方法的一個潛在優點是,如果您有許多以相同方式生成的圖,則可以編寫腳本來自動執行此過程。