Визуализация больших наборов данных требует, чтобы данные были получены в итоге, сгруппированы, или выбраны в некотором роде, чтобы уменьшить число точек, которые построены график на экране. В некоторых случаях, функции, такие как histogram
и интервал pie
данные, чтобы уменьшить размер, в то время как другие функции, такие как plot
и scatter
используют более комплексный подход, который старается не строить график дублирующихся пикселей на экране. Для проблем, где пиксельное перекрытие относится к анализу, функция binscatter
также предлагает эффективный способ визуализировать шаблоны плотности.
Визуализация длинных массивов не требует использования gather
. MATLAB® сразу оценивает и отображает визуализацию длинных массивов. В настоящее время можно визуализировать длинные массивы с помощью функций и методов в этой таблице.
Функция | Необходимые тулбоксы | Примечания |
---|---|---|
график | — |
Эти функции график в итерациях, прогрессивно добавляя к графику как больше данных читаются. Во время обновлений индикатор хода выполнения показывает пропорцию данных, которая была построена график. Изменение масштаба и панорамирование поддержаны во время процесса обновления, прежде чем график будет завершен. Чтобы остановить процесс обновления, нажмите кнопку паузы в индикаторе хода выполнения. |
рассеяние | — | |
binscatter | — | |
гистограмма | — | |
histogram2 | — | |
круг | — |
Для визуализации категориальных данных только. |
binScatterPlot | Статистика и машинное обучение Toolbox™ |
Фигура содержит ползунок, чтобы управлять яркостью и детализацией цвета в изображении. Ползунок настраивает значение параметра исправления |
ksdensity | Statistics and Machine Learning Toolbox |
Производит оценку плотности вероятности для данных, оцененных в 100 точках для одномерных данных или 900 точках для двумерных данных. |
выборка данных | Statistics and Machine Learning Toolbox |
|
Этот пример показывает несколько различных способов, которыми можно визуализировать длинные массивы.
Создайте datastore для набора данных airlinesmall.csv
, который содержит строки данных полета. Выберите подмножество табличных переменных, чтобы работать с и удалить строки, которые содержат отсутствующие значения.
ds = datastore('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 0.92 sec - Pass 2 of 2: Completed in 0.7 sec Evaluation completed in 2 sec
Гистограмма задержек
Постройте график гистограммы задержек прибытия каждого полета в данных. Поскольку данные имеют длинный хвост, ограничьте область графического изображения с помощью пары "имя-значение" BinLimits
.
histogram(T.ArrDelay,'BinLimits',[-50 150])
Evaluating tall expression using the Local MATLAB Session: - Pass 1 of 2: Completed in 1.8 sec - Pass 2 of 2: Completed in 0.67 sec Evaluation completed in 3 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];
график
| полисоответствие
| высокий