MATLAB Answers

0

How can I plot the first 2 columns from a .csv file when the user selects an option from a pop menu

Gemma Malagón さんによって質問されました 2019 年 8 月 9 日
最新アクティビティ Gemma Malagón さんによって コメントされました 2019 年 8 月 12 日
This is the code I have, what is the next step to callback the 'option 1' at the pop menu? and that it plots the 2 first colums?
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
%
handles.fileName=uigetfile({'*.csv;';'*.mat';'*.*'},...
'File Selector');
C = strsplit(handles.fileName,'.');

  0 件のコメント

サインイン to comment.

タグ

1 件の回答

Answer by Maadhav Akula on 12 Aug 2019
 Accepted Answer

Use the readmatrix function rather than strsplit. This may help you :-
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
handles.fileName=uigetfile({'*.csv;';'*.mat';'*.*'},...
'File Selector');
guidata(hObject, handles);%This updates the handles structure
Now at the popupmenu1_Callback: -
% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
contents = cellstr(get(hObject,'String'));%Gets the cell string of popupmenu
pop_choice = contents{get(hObject,'Value')};
if(strcmp(pop_choice,'option 1'))%Checking for option 1
array = readmatrix(handles.fileName);%Reading the csv file
col1 = array(:, 1);%Values of Column 1
col2 = array(:, 2);%Values of Column 2
plot(col1,col2);%Plotting Column 1 vs Column 2
end
You can refer the following link to know more about readmatrix: -
Hope this helps!

  1 件のコメント

Yes, thank you very mkuch. What I want to do is after I select one option of the pop menu (10 options in total) and then I press the load button to load a .csv file a graph plots the first 2 columns if I select the 1st option of the menu. Then if I select option 2 I want it to plot columns 9 and 10, then fro option 3 I want it to plot columns 17 and 18, and so on for the rest of the options of the popmenu.

サインイン to comment.



Translated by