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

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

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

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

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

рассеяние
binscatter
гистограмма 
histogram2 
круг

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

binScatterPlot Статистика и машинное обучение Toolbox™

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

ksdensity Statistics and Machine Learning Toolbox

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

выборка данных 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 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];

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

| |

Похожие темы

Была ли эта тема полезной?