Reputation: 2763
So I have this in GUI, which plots a scatter3 plot with the given x, y and z coordinates.
function activation(hObject, eventdata, handles)
cla(handles.eeg_final,'reset')
axes(handles.eeg_final)
x = [-30;-50;-40;-60;-60;-60;-30;30;60;60;60;40;50;30];
y = [50;30;30;0;20;-60;-80;-80;-60;20;0;30;30;50];
z = [30;0;40;30;0;0;10;10;0;0;30;40;0;30];
location={};
s=cell(1,14);
for a = 1:14
location{1} = sprintf('AF3');
location{2} = sprintf('F7');
location{3} = sprintf('F3');
location{4} = sprintf('FC5');
location{5} = sprintf('T7');
location{6} = sprintf('P7');
location{7} = sprintf('O1');
location{8} = sprintf('O2');
location{9} = sprintf('P8');
location{10} = sprintf('T8');
location{11} = sprintf('FC6');
location{12} = sprintf('F4');
location{13} = sprintf('F8');
location{14} = sprintf('AF4');
n = location{a};
s(a)=strread(sprintf(n),'%s','delimiter','');
end
% the plot
scatter3(-x,-y,-z,'filled'); % <- NOT <plot3>
text(-(x+.3),-(y-.5),-z,s,'color',[1,0,0]);
view(115,18)
then I have a plotting option which calls this function and other function which are focused to handles.eeg_final
.
function plot_options_popup_Callback(hObject, eventdata, handles)
% hObject handle to plot_options_popup (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
str = get(hObject, 'String');
val = get(hObject, 'Value');
switch str{val};
case 'EEG Plot - 14 Channel'
return
case 'Activation Plot'
activation
case 'Emotion State Plot'
emotion_state
end
But when ever I try to call Activation Plot
I get an error saying that 'Not enough arguments.'
could anyone tell me where i am going wrong?
Upvotes: 1
Views: 114
Reputation: 1894
Error because you wrote function activation
with 3 input arguments. You can change the function like:
function activation(hObject, handles)
cla(hObject,'reset');
axes(hObject);
% do what you want here
% update handles struct at the end
guidata(hObject, handles);
And call it in the popup menu by:
activation(handles.eeg_final, handles);
Upvotes: 1