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

Визуализация больших наборов данных требует, чтобы данные были получены в итоге, сгруппированы, или произведены в некотором роде, чтобы уменьшать число точек, которые построены на экране. В некоторых случаях, функции, такие как 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 = 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 sec
- Pass 2 of 2: Completed in 0.74 sec
Evaluation completed in 2.3 sec

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

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

histogram(T.ArrDelay,'BinLimits',[-50 150])
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 2: Completed in 1.6 sec
- Pass 2 of 2: Completed in 0.59 sec
Evaluation completed in 2.7 sec

Точечная диаграмма задержек

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

При работе с длинными массивами, plotрассеяние, и 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];

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

| |

Похожие темы