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

4 ビュー (過去 30 日間)
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,'.');

採用された回答

Maadhav Akula
Maadhav Akula 2019 年 8 月 12 日
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 件のコメント
Gemma Malagón
Gemma Malagón 2019 年 8 月 12 日
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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeInteractive Control and Callbacks についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by