Визуализация длинных массивов

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

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

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

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

scatter
binscatter
histogram 
histogram2 
pie

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

binScatterPlot Statistics and Machine Learning Toolbox™

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

ksdensity Statistics and Machine Learning Toolbox

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

datasample Statistics and Machine Learning Toolbox

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

Примеры графического изображения длинного массива

Этот пример показывает несколько различных способов, которыми можно визуализировать длинные массивы.

Создайте 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 1.3 sec
- Pass 2 of 2: Completed in 0.84 sec
Evaluation completed in 2.6 sec

Гистограмма задержек

Постройте гистограмму задержек прибытия каждого рейса в данных. Поскольку данные имеют длинный хвост, ограничьте область графического вывода с помощью пары "имя-значение" BinLimits.

histogram(T.ArrDelay,'BinLimits',[-50 150])
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 2: Completed in 2.1 sec
- Pass 2 of 2: Completed in 0.75 sec
Evaluation completed in 3.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];

Смотрите также

| |

Похожие темы

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