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

Примечание

Среда GUIDE будет удалена в будущем релизе. После того, как GUIDE удален, существующие приложения GUIDE продолжат запускаться в MATLAB®, но они не будут доступны для редактирования в GUIDE.

Чтобы продолжить редактировать существующее приложение GUIDE, см. Стратегии Миграции GUIDE информации о том, как помочь обеспечить совместимость приложения с будущими релизами MATLAB. Чтобы создать новые приложения, используйте App Designer вместо этого.

В этом примере показано, как исследовать и запустить предварительно созданное приложение 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);

Похожие темы