exponenta event banner

Визуализация массивов Tall

Для визуализации больших наборов данных требуется, чтобы данные суммировались, привязывались или отбирались каким-либо образом, чтобы уменьшить количество точек, отображаемых на экране. В некоторых случаях такие функции, как histogram и pie складировать данные для уменьшения размера, в то время как другие функции, такие как plot и scatter используйте более сложный подход, который позволяет избежать печати дубликатов пикселей на экране. Для проблем, в которых перекрытие пикселей имеет отношение к анализу, binscatter функция также предлагает эффективный способ визуализации шаблонов плотности.

Визуализация массивов tall не требует использования gather. MATLAB ® немедленно оценивает и отображает визуализации массивов tall. В настоящее время можно визуализировать массивы tall с помощью функций и методов этой таблицы.

ФункцияНеобходимые панели инструментовПримечания
plot

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

scatter
binscatter
histogram 
histogram2 
pie

Для визуализации только категориальных данных.

binScatterPlot(Набор инструментов для статистики и машинного обучения) Статистика и машинное обучение Toolbox™

Рисунок содержит ползунок для управления яркостью и подробностью цвета изображения. Ползунок регулирует значение Gamma параметр коррекции изображения.

ksdensity(Набор инструментов для статистики и машинного обучения) Инструментарий для статистики и машинного обучения

Создает оценку плотности вероятности для данных, оцениваемую в 100 точках для одномерных данных или 900 точках для двумерных данных.

datasample(Набор инструментов для статистики и машинного обучения) Инструментарий для статистики и машинного обучения

datasample позволяет извлекать подизмерение массива высокого уровня статистически обоснованным способом по сравнению с простым индексированием. Если подмножество данных достаточно мало для размещения в памяти, можно использовать функции печати и подгонки в подмножестве, не поддерживающем непосредственно массивы tall.

Примеры печати массива высокого уровня

В этом примере показано несколько различных способов визуализации массивов 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

Figure contains an axes. The axes contains an object of type histogram.

График разброса задержек

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

При работе с массивами уровня plot, scatter, и binscatter функции строят данные в итерациях, постепенно добавляя к графику по мере считывания дополнительных данных. Во время обновления верхняя часть графика имеет индикатор хода выполнения, показывающий, сколько данных было нанесено на график. Зумирование и панорамирование поддерживаются во время обновления до завершения печати.

scatter(T.ArrDelay,T.DepDelay)
xlabel('Arrival Delay')
ylabel('Departure Delay')
xlim([-140 1000])
ylim([-140 1000])

Figure contains an axes. The axes contains an object of type scatter.

Индикатор выполнения также содержит кнопку «Приостановить/Возобновить». Кнопка используется для того, чтобы остановить обновление графика до появления достаточного количества данных.

Вписать линию тренда

Используйте 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

Figure contains an axes. The axes contains 2 objects of type scatter, line.

Визуализация плотности

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

Используйте binscatter функция для визуализации плотности точек на графике задержек прибытия и вылета.

binscatter(T.ArrDelay,T.DepDelay,'XLimits',[-100 1000],'YLimits',[-100 1000])
xlim([-100 1000])
ylim([-100 1000])
xlabel('Arrival Delay')
ylabel('Departure Delay')

Figure contains an axes. The axes contains an object of type binscatter.

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

ax = gca;
ax.CLim = [0 150];

Figure contains an axes. The axes contains an object of type binscatter.

См. также

| |

Связанные темы