hist3

График двумерной гистограммы

Синтаксис

hist3(X)
hist3(X,'Nbins',nbins)
hist3(X,'Ctrs',ctrs)
hist3(X,'Edges',edges)
hist3(___,Name,Value)
hist3(ax,___)
N = hist3(___)
[N,c] = hist3(___)

Описание

пример

hist3(X) создает график двумерной гистограммы X(:,1) и X(:,2), использующего 10 10 равномерно распределенные интервалы. Функция hist3 отображает интервалы как 3-D прямоугольные панели, и высота каждой панели указывает на число элементов в интервале.

пример

hist3(X,'Nbins',nbins) задает количество интервалов в каждой размерности гистограммы. Этот синтаксис эквивалентен hist3(X,nbins).

пример

hist3(X,'Ctrs',ctrs) задает центры интервалов в каждой размерности гистограммы. Этот синтаксис эквивалентен hist3(X,ctrs).

hist3(X,'Edges',edges) задает ребра интервалов в каждой размерности.

пример

hist3(___,Name,Value) задает графические свойства с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущих синтаксисах. Например, 'FaceAlpha',0.5 создает полупрозрачную гистограмму. Для списка свойств смотрите Surface Properties.

hist3(ax,___) графики в оси заданы ax вместо текущей системы координат (gca). Опция ax может предшествовать любой комбинации входных аргументов в предыдущих синтаксисах.

пример

N = hist3(___) возвращает число элементов в X, которые падают в каждом интервале. Этот синтаксис не создает гистограмму.

[N,c] = hist3(___) также возвращает центры интервала. Этот синтаксис не создает гистограмму.

Примеры

свернуть все

Загрузите выборочные данные.

load carbig

Создайте двумерную гистограмму с настройками по умолчанию.

X = [MPG,Weight];
hist3(X)
xlabel('MPG')
ylabel('Weight')

Создайте двумерную гистограмму на интервалах, заданных центрами интервала, и считайте число элементов в каждом интервале.

Загрузите выборочные данные.

load carbig

Создайте двумерную гистограмму. Задайте центры интервалов гистограммы с помощью двухэлементного массива ячеек.

X = [MPG,Weight];
hist3(X,'Ctrs',{0:10:50 2000:500:5000})
xlabel('MPG')
ylabel('Weight')

Считайте число элементов в каждом интервале.

N = hist3(X,'Ctrs',{0:10:50 2000:500:5000})
N = 6×7

     0     0     0     0     0     0     0
     0     0     2     3    16    26     6
     6    34    50    49    27    10     0
    70    49    11     3     0     0     0
    29     4     2     0     0     0     0
     1     0     0     0     0     0     0

Загрузите выборочные данные.

load carbig

Создайте двумерную гистограмму. Задайте графические свойства окрасить панели гистограммы высотой, представляющей частоту наблюдений.

X = [MPG,Weight];
hist3(X,'CDataMode','auto','FaceColor','interp')
xlabel('MPG')
ylabel('Weight')

Загрузите выборочные данные.

load carbig

Создайте двумерную мозаичную гистограмму. Задайте графические свойства окрасить главную поверхность панелей гистограммы частотой наблюдений. Измените представление на двумерный.

X = [MPG,Weight];
hist3(X,'CdataMode','auto')
xlabel('MPG')
ylabel('Weight')
colorbar
view(2)

Создайте двумерную гистограмму и настройте ее графические свойства при помощи указателя объекта подложки гистограммы.

Загрузите выборочные данные.

load carbig

Создайте двумерную гистограмму с 7 интервалами в каждой размерности.

X = [MPG,Weight];
hist3(X,'Nbins',[7 7])
xlabel('MPG')
ylabel('Weight')

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

s = findobj(gca,'Type','Surface');
s.FaceAlpha = 0.65;

Создайте двумерную гистограмму и добавьте 2D спроектированное представление интенсивности к гистограмме.

Загрузите набор данных seamount (подводная гора является подводной горой). Набор данных состоит из набора долготы (x) и широта (y) местоположения и соответствующие повышения seamount (z), измеренный в тех координатах. Этот пример использует x и y, чтобы чертить двумерную гистограмму.

load seamount

Чертите двумерную гистограмму.

hist3([x,y])
xlabel('Longitude')
ylabel('Latitude')
hold on

Считайте число элементов в каждом интервале.

N = hist3([x,y]);

Сгенерируйте сетку, чтобы чертить 2D спроектированное представление интенсивности при помощи pcolor.

N_pcolor = N';
N_pcolor(size(N_pcolor,1)+1,size(N_pcolor,2)+1) = 0;
xl = linspace(min(x),max(x),size(N_pcolor,2)); % Columns of N_pcolor
yl = linspace(min(y),max(y),size(N_pcolor,1)); % Rows of N_pcolor

Чертите карту интенсивности при помощи pcolor. Установите z-уровень карты интенсивности просматривать гистограмму и карту интенсивности вместе.

h = pcolor(xl,yl,N_pcolor);
colormap('hot') % Change color scheme 
colorbar % Display colorbar
h.ZData = -max(N_pcolor(:))*ones(size(N_pcolor));
ax = gca;
ax.ZTick(ax.ZTick < 0) = [];
title('Seamount Location Histogram and Intensity Map');

Входные параметры

свернуть все

Данные, чтобы распределить среди интервалов, заданных как m-by-2 числовая матрица, где m является количеством точек данных. Соответствующие элементы в X(:,1) и X(:,2) задают x и координаты y точек 2D данных.

hist3 игнорирует все значения NaN. Точно так же hist3 игнорирует Inf и значения –Inf, если вы явным образом не задаете Inf или –Inf как ребро интервала при помощи входного параметра edges.

Типы данных: single | double

Количество интервалов в каждой размерности, заданной как двухэлементный вектор положительных целых чисел. nbins(1) задает количество интервалов в первой размерности, и nbins(2) задает количество интервалов во втором измерении.

Пример: [10 20]

Типы данных: single | double

Интервал центрируется в каждой размерности, заданной как двухэлементный массив ячеек числовых векторов с монотонно неуменьшающимися значениями. ctrs{1} и ctrs{2} являются позициями центров интервала в первых и вторых измерениях, соответственно.

hist3 присваивает строки X, выходящего за пределы области значений сетки к интервалам вдоль внешних краев сетки.

Пример: {0:10:100 0:50:500}

Типы данных: cell

Ребра интервала в каждой размерности, заданной как двухэлементный массив ячеек числовых векторов с монотонно неуменьшающимися значениями. edges{1} и edges{2} являются положениями ребер интервала в первых и вторых измерениях, соответственно.

Значение X(k,:) находится в (i,j) th интервал если edges{1}(i) ≤ X(k,1) < edges{1}(i+1) и edges{2}(j) ≤ X(k,2) < edges{2}(j+1).

Последние интервалы в каждой размерности также включают последнее (внешнее) ребро. Например, X(k,:) попадает в (I,j) th интервал, если edges{1}(I–1) ≤ X(k,1) ≤ edges{1}(I) и edges{2}(j) ≤ X(k,2) < edges{2}(j+1), где I является длиной edges{1}. Кроме того, X(k,:) попадает в (i,J) th интервал, если edges{1}(i) ≤ X(k,1) < edges{1}(i+1) и edges{2}(J–1) ≤ X(k,2) ≤ edges{2}(J), где J является длиной edges{2}.

hist3 не считает строки X, выходящего за пределы области значений сетки. Используйте –Inf и Inf в edges, чтобы включать все non-NaN значения.

Пример: {0:10:100 0:50:500}

Типы данных: cell

Целевые оси, заданные как объект осей. Если вы не задаете объект Axes, то функция hist3 использует текущую систему координат (gca). Для получения дополнительной информации смотрите Свойства осей графика.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: hist3(X,'FaceColor','interp','CDataMode','auto') окрашивает панели гистограммы согласно высоте панелей.

Графические свойства, перечисленные здесь, являются только подмножеством. Для полного списка смотрите Surface Properties.

Режим выбора для CData (цвета вершины), заданный как пара, разделенная запятой, состоящая из 'CDataMode' и одно из этих значений:

  • 'manual' — Используйте вручную заданные значения в свойстве CData. Цвет по умолчанию в CData является легким стальным синим соответствием значению триплета RGB [0.75 0.85 0.95].

  • 'auto' Используйте значения ZData, чтобы выбрать цвета. ZData содержит данные z-координаты для восьми углов каждой панели.

Пример: 'CDataMode','auto'

Цвет линии ребра, заданный как пара, разделенная запятой, состоящая из 'EdgeColor' и одно из этих значений:

  • 'none' Не чертите ребра.

  • 'flat' — Используйте различный цвет для каждого ребра на основе значений в свойстве CData.

  • 'interp' — Используйте интерполированную окраску для каждого ребра на основе значений в свойстве CData.

  • Триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название — Использование заданный цвет для всех ребер. Эти значения не используют значения цвета в свойстве CData.

Цвет по умолчанию [0 0 0] соответствует черным ребрам.

Триплеты RGB и шестнадцатеричные цветовые коды полезны для определения пользовательских цветов.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].

  • Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#), сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут колебаться от 0 до F. Значения не являются чувствительными к регистру. Таким образом цветовые коды '#FF8800', '#ff8800', '#F80' и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB® во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Пример: 'EdgeColor','blue'

Столкнитесь с прозрачностью, заданной как пара, разделенная запятой, состоящая из 'FaceAlpha' и одно из этих значений:

  • Скаляр в области значений [0,1] — универсальная прозрачность Использования через все поверхности. Значение 1 полностью непрозрачно, и 0 абсолютно прозрачен. Значения от 0 до 1 являются полупрозрачными. Эта опция не использует значения прозрачности в свойстве AlphaData.

  • 'flat' — Используйте различную прозрачность для каждой поверхности на основе значений в свойстве AlphaData. Значение прозрачности в первой вершине определяет прозрачность для целой поверхности. Это значение применяется только, когда вы задаете свойство AlphaData и устанавливаете свойство FaceColor на 'flat'.

  • 'interp' — Используйте интерполированную прозрачность для каждой поверхности на основе значений в свойстве AlphaData. Прозрачность отличается через каждую поверхность путем интерполяции значений в вершинах. Это значение применяется только, когда вы задаете свойство AlphaData и устанавливаете свойство FaceColor на 'interp'.

  • 'texturemap' — Преобразуйте данные в AlphaData так, чтобы это соответствовало поверхности.

Пример: 'FaceAlpha',0.5

Цвет поверхности, заданный как пара, разделенная запятой, состоящая из 'FaceColor' и одно из этих значений:

  • 'flat' — Используйте различный цвет для каждой поверхности на основе значений в свойстве CData.

  • 'interp' — Используйте интерполированную окраску для каждой поверхности на основе значений в свойстве CData.

  • 'none' Не чертите поверхности.

  • 'texturemap' — Преобразуйте цветные данные в CData так, чтобы это соответствовало поверхности.

  • Триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название — Использование заданный цвет для всех поверхностей. Эти значения не используют значения цвета в свойстве CData.

Триплеты RGB и шестнадцатеричные цветовые коды полезны для определения пользовательских цветов.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].

  • Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#), сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут колебаться от 0 до F. Значения не являются чувствительными к регистру. Таким образом цветовые коды '#FF8800', '#ff8800', '#F80' и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

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

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Пример: 'FaceColor','interp'

Стиль линии, заданный как пара, разделенная запятой, состоящая из 'LineStyle' и одна из опций в этой таблице.

Стиль линииОписаниеПолучившаяся строка
'-'Сплошная линия

'--'Пунктирная линия

':'Пунктирная линия

'-.'Штрих-пунктирная линия

'none'Никакая строкаНикакая строка

Пример: 'LineStyle',':'

Ширина линии, заданная как пара, разделенная запятой, состоящая из 'LineWidth' и положительного значения в точках.

Пример: 'LineWidth',0.75

Типы данных: single | double

Выходные аргументы

свернуть все

Число элементов в X, которые падают в каждом интервале, возвратилось как числовая матрица.

Интервал центрируется в каждой размерности, возвращенной как двухэлементный массив ячеек числовых векторов. c{1} и c{2} являются позициями центров интервала в первых и вторых измерениях, соответственно.

Советы

Функция hist3 создает двумерную гистограмму, которая является типом объемной поверхностной диаграммы. Можно задать поверхностные свойства с помощью одного или нескольких аргументов пары "имя-значение". Кроме того, можно изменить внешний вид гистограммы путем изменения поверхностных значений свойств после того, как вы создадите гистограмму. Получите указатель объекта подложки при помощи s = findobj(gca,'Type','Surface'), и затем используйте s, чтобы изменить поверхностные свойства. Для примера смотрите Adjust Graphical Properties. Для списка свойств смотрите Surface Properties.

Альтернативная функциональность

Функция histogram2 позволяет вам создать двумерную гистограмму с помощью объекта Histogram2. Можно использовать аргументы пары "имя-значение" histogram2, чтобы использовать нормализацию ('Normalization'), настроить ширину интервалов в каждой размерности ('BinWidth') и отобразить гистограмму как прямоугольный массив мозаик вместо 3-D панелей ('DisplayStyle').

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

| | | |

Представлено до R2006a

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