Приложение GUIDE, содержащее таблицы и графики

Этот пример показывает, как исследовать и запустить предварительно созданное приложение GUIDE. Приложение содержит две таблицы, две оси и всплывающее меню. Большая таблица на левых отображениях 288 записей данных о солнечном пятне. Главные оси отображают график всех 288 записей. Когда вы выбираете 11 или больше элементов из таблицы слева, график выбранных записей отображается в нижних осях. Таблица в правом нижнем углу показывает статистические сводные данные данных о солнечном пятне. Всплывающее меню наверху окна позволяет вам переключаться между графиками во временном и частотном диапазоне.

Открытие и запуск примера

Открытый и выполнение приложение. Выберите 11 или больше строк в таблице Data Set, чтобы видеть график тех точек на подстилающем слое осей. Когда вы изменяете свой выбор, числа во втором столбце обновления таблицы Data Statistics.

Исследование кода

  1. В GUIDE нажмите кнопку Editor, чтобы просмотреть код.

  2. Около верхней части окна Editor используйте кнопку Go To, чтобы перейти к функциям, обсужденным ниже.

plot_type_Callback

Функция plot_type_Callback выполняется, когда пользователь изменяет выбор во всплывающем меню наверху окна. Следующие операторы получают в настоящее время выбранный пункт меню и обновляют метку выше осей.

index = get(hObject,'Value'); 
strlist = get(hObject,'String');
set(handles.uipanel3,'Title',strlist(index))

Эти команды получают все 288 записей в таблице и строят их в главных осях. Функция refreshDisplays является локально определенной функцией.

table = get(handles.data_table,'Data'); 
refreshDisplays(table, handles, 1);

Эти команды обновляют нижний график и статистическую сводную таблицу, если больше чем 10 записей выбраны.

selection = handles.currSelection;
if length(selection) > 10
    refreshDisplays(table(selection,:), handles, 2)
else
    % Do nothing; insufficient observations for statistics
end

data_table_CellSelectionCallback

Функция data_table_CellSelectionCallback выполняется, когда пользователь выбирает любую из ячеек в большей таблице слева. Эта команда получает в настоящее время выбранные записи в таблице:

selection = eventdata.Indices(:,1);

Эти команды обновляют поле currSelection структуры handles так, чтобы к выбору пользователя можно было получить доступ из других коллбэков, таких как функция plot_type_Callback.

handles.currSelection = selection;
guidata(hObject,handles);

Наконец, refreshDisplays обновляет нижний график и статистическую сводную таблицу.

refreshDisplays(table(selection,:),handles,2);

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте