Для визуализации больших наборов данных требуется, чтобы данные суммировались, привязывались или отбирались каким-либо образом, чтобы уменьшить количество точек, отображаемых на экране. В некоторых случаях такие функции, как histogram и pie складировать данные для уменьшения размера, в то время как другие функции, такие как plot и scatter используйте более сложный подход, который позволяет избежать печати дубликатов пикселей на экране. Для проблем, в которых перекрытие пикселей имеет отношение к анализу, binscatter функция также предлагает эффективный способ визуализации шаблонов плотности.
Визуализация массивов tall не требует использования gather. MATLAB ® немедленно оценивает и отображает визуализации массивов tall. В настоящее время можно визуализировать массивы tall с помощью функций и методов этой таблицы.
| Функция | Необходимые панели инструментов | Примечания |
|---|---|---|
plot | — |
Эти функции строят график в итерациях, постепенно добавляя к графику по мере считывания дополнительных данных. Во время обновления индикатор хода выполнения показывает долю данных, которые были нанесены на график. В процессе обновления поддерживается масштабирование и панорамирование до завершения печати. Чтобы остановить процесс обновления, нажмите кнопку паузы в индикаторе хода выполнения. |
scatter | — | |
binscatter | — | |
histogram | — | |
histogram2 | — | |
pie | — |
Для визуализации только категориальных данных. |
binScatterPlot(Набор инструментов для статистики и машинного обучения) | Статистика и машинное обучение Toolbox™ |
Рисунок содержит ползунок для управления яркостью и подробностью цвета изображения. Ползунок регулирует значение |
ksdensity(Набор инструментов для статистики и машинного обучения) | Инструментарий для статистики и машинного обучения |
Создает оценку плотности вероятности для данных, оцениваемую в 100 точках для одномерных данных или 900 точках для двумерных данных. |
datasample(Набор инструментов для статистики и машинного обучения) | Инструментарий для статистики и машинного обучения |
|
В этом примере показано несколько различных способов визуализации массивов tall.
Создание хранилища данных для airlinesmall.csv набор данных, содержащий строки полетных данных авиакомпании. Выберите подмножество переменных таблицы для работы и удалите строки, содержащие отсутствующие значения.
ds = tabularTextDatastore('airlinesmall.csv','TreatAsMissing','NA'); ds.SelectedVariableNames = {'Year','Month','ArrDelay','DepDelay','Origin','Dest'}; T = tall(ds); T = rmmissing(T)
T =
Mx6 tall table
Year Month ArrDelay DepDelay Origin Dest
____ _____ ________ ________ _______ _______
1987 10 8 12 {'LAX'} {'SJC'}
1987 10 8 1 {'SJC'} {'BUR'}
1987 10 21 20 {'SAN'} {'SMF'}
1987 10 13 12 {'BUR'} {'SJC'}
1987 10 4 -1 {'SMF'} {'LAX'}
1987 10 59 63 {'LAX'} {'SJC'}
1987 10 3 -2 {'SAN'} {'SFO'}
1987 10 11 -1 {'SEA'} {'LAX'}
: : : : : :
: : : : : :
Круговая диаграмма полетов по месяцам
Преобразование числового значения Month в категориальную переменную, которая отражает имя месяца. Затем постройте круговую диаграмму, показывающую, сколько рейсов находится в данных за каждый месяц года.
T.Month = categorical(T.Month,1:12,{'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'})T =
Mx6 tall table
Year Month ArrDelay DepDelay Origin Dest
____ _____ ________ ________ _______ _______
1987 Oct 8 12 {'LAX'} {'SJC'}
1987 Oct 8 1 {'SJC'} {'BUR'}
1987 Oct 21 20 {'SAN'} {'SMF'}
1987 Oct 13 12 {'BUR'} {'SJC'}
1987 Oct 4 -1 {'SMF'} {'LAX'}
1987 Oct 59 63 {'LAX'} {'SJC'}
1987 Oct 3 -2 {'SAN'} {'SFO'}
1987 Oct 11 -1 {'SEA'} {'LAX'}
: : : : : :
: : : : : :
pie(T.Month)
Evaluating tall expression using the Local MATLAB Session: - Pass 1 of 2: Completed in 1.1 sec - Pass 2 of 2: Completed in 0.64 sec Evaluation completed in 2.1 sec

Гистограмма задержек
Постройте гистограмму задержек прибытия для каждого рейса в данных. Поскольку данные имеют длинный конец, ограничьте область печати с помощью BinLimits пара имя-значение.
histogram(T.ArrDelay,'BinLimits',[-50 150])Evaluating tall expression using the Local MATLAB Session: - Pass 1 of 2: Completed in 1.7 sec - Pass 2 of 2: Completed in 0.63 sec Evaluation completed in 2.8 sec

График разброса задержек
Постройте разрозненный график задержек прибытия и вылета. Вы можете ожидать сильной корреляции между этими переменными, так как рейсы, которые отправляются поздно, также могут прибыть поздно.
При работе с массивами уровня plot, scatter, и binscatter функции строят данные в итерациях, постепенно добавляя к графику по мере считывания дополнительных данных. Во время обновления верхняя часть графика имеет индикатор хода выполнения, показывающий, сколько данных было нанесено на график. Зумирование и панорамирование поддерживаются во время обновления до завершения печати.
scatter(T.ArrDelay,T.DepDelay) xlabel('Arrival Delay') ylabel('Departure Delay') xlim([-140 1000]) ylim([-140 1000])

Индикатор выполнения также содержит кнопку «Приостановить/Возобновить». Кнопка используется для того, чтобы остановить обновление графика до появления достаточного количества данных.
Вписать линию тренда
Используйте polyfit и polyval функции для наложения линейной линии тренда на график задержек прибытия и отправления.
hold on p = polyfit(T.ArrDelay,T.DepDelay,1); x = sort(T.ArrDelay,1); yp = polyval(p,x); plot(x,yp,'r-') hold off

Визуализация плотности
График рассеяния точек полезен до определенной точки, но может быть трудно расшифровать информацию из графика, если точки сильно перекрываются. В этом случае он помогает визуализировать плотность точек на графике для выявления тенденций.
Используйте binscatter функция для визуализации плотности точек на графике задержек прибытия и вылета.
binscatter(T.ArrDelay,T.DepDelay,'XLimits',[-100 1000],'YLimits',[-100 1000]) xlim([-100 1000]) ylim([-100 1000]) xlabel('Arrival Delay') ylabel('Departure Delay')

Отрегулируйте CLim свойства осей таким образом, что все значения ячеек, превышающие 150, окрашиваются одинаково. Это предотвращает доминирование нескольких ячеек с очень большими значениями на графике.
ax = gca; ax.CLim = [0 150];
