0
返回一個錯誤,我想散點圖被存儲爲結構數據類型的數據。傳遞結構散射功能的MATLAB
scatter(1,1, ...
'ApplicationData', lin_data.ApplicationData, ...
'CData', lin_data.CData, ...
'CDataSource', lin_data.CDataSource, ...
'Jitter', lin_data.Jitter, ...
'JitterAmount', lin_data.JitterAmount, ...
'LineWidth', lin_data.LineWidth, ...
'Marker', lin_data.Marker, ...
'MarkerEdgeColor', lin_data.MarkerEdgeColor, ...
'MarkerFaceColor', lin_data.MarkerFaceColor, ...
'SizeData', lin_data.SizeData, ...
'SizeDataSource', lin_data.SizeDataSource, ...
'XData', lin_data.XData, ...
'XDataSource', lin_data.XDataSource, ...
'YData', lin_data.YData, ...
'YDataSource', lin_data.YDataSource, ...
'ZData', lin_data.ZData, ...
'ZDataSource', lin_data.ZDataSource, ...
'SelectionHandleMode', lin_data.SelectionHandleMode)
上述代碼有效。但是,如果我直接傳遞lin_data
變量,則返回一個錯誤:
scatter(1,1,lin_data)
Error using double
Conversion to double from struct is not possible.
Error in datachk (line 11)
y = full(double(x));
Error in datachk (line 9)
y = cellfun(@datachk,x,'UniformOutput',false);
Error in scatter (line 55)
dataargs = datachk(args(1:nargs));
lin_data
是一個結構。有任何想法嗎?
編輯:它的工作原理,如果我用set
,但我還是不明白,爲什麼經過結構直接不起作用。順便說一句,如果我用plot
它與傳遞結構作爲參數
h = scatter(1,1);
h.set(lin_data);