bubblechart

Пузырьковый график

    Описание

    пример

    bubblechart(x,y,sz) отображает цветные круговые маркеры (пузыри) в местах, заданных векторами x и y. Задайте размеры пузыря в качестве вектора sz. Векторы x, y, и sz должна быть одинаковой длины.

    пример

    bubblechart(x,y,sz,c) задает цвета пузырей.

    • Чтобы использовать один цвет для всех пузырей, укажите название цвета, шестнадцатеричный код цвета или триплет RGB.

    • Чтобы назначить отдельный цвет каждому пузырю, задайте вектор той же длины, что и x и y. Кроме того, можно задать трехколоночную матрицу триплетов RGB. Количество строк в матрице должно совпадать с длиной x и y.

    пример

    bubblechart(___,Name,Value) задает BubbleChart свойства с использованием одного или нескольких аргументов пары "имя-значение". Задайте свойства после всех других входных параметров. Список свойств см. в разделе Свойства BubbleChart.

    пример

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

    пример

    bc = bubblechart(___) возвращает BubbleChart объект. Использование bc для изменения свойств графика после ее создания. Список свойств см. в разделе Свойства BubbleChart.

    Примеры

    свернуть все

    Задайте координаты пузыря как векторы x и y. Определите sz как вектор, который задает размеры пузыря. Затем создайте пузырьковый график x и y.

    x = 1:20;
    y = rand(1,20);
    sz = rand(1,20);
    bubblechart(x,y,sz);

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

    Задайте координаты пузыря как векторы x и y. Определите sz как вектор, который задает размеры пузыря. Затем создайте пузырьковый график x и y, и укажите цвет как красный. По умолчанию пузыри являются частично прозрачными.

    x = 1:20;
    y = rand(1,20);
    sz = rand(1,20);
    bubblechart(x,y,sz,'red');

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

    Для пользовательского цвета можно задать триплет RGB или шестнадцатеричный код цвета. Например, шестнадцатеричный цветовой код '#7031BB', задает оттенок фиолетового цвета.

    bubblechart(x,y,sz,'#7031BB');

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

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

    c = 1:20;
    bubblechart(x,y,sz,c)

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

    Задайте координаты пузыря как векторы x и y. Определите sz как вектор, который задает размеры пузыря. Затем создайте пузырьковый график x и y. По умолчанию пузыри на 60% непрозрачны, а ребра полностью непрозрачны при том же цвете.

    x = 1:20;
    y = rand(1,20);
    sz = rand(1,20);
    bubblechart(x,y,sz);

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

    Можно настроить непрозрачность и цвет контура путем установки MarkerFaceAlpha и MarkerEdgeColor свойства, соответственно. Один из способов задать свойство - задать аргумент пары "имя-значение" при создании графика. Для примера можно задать 20% непрозрачность путем установки MarkerFaceAlpha значение в 0.20.

    bc = bubblechart(x,y,sz,'MarkerFaceAlpha',0.20);

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

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

    bc.MarkerEdgeColor = [0.5 0 0.5];

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

    Определить набор данных, который показывает уровни загрязнения определенного токсина в различных городах в столичном регионе. Определите towns как население каждого города. Определите nsites как количество промышленных площадок в соответствующих городах. Определите levels как уровни загрязнения в городах. Затем отобразите данные на пузырьковом графике с подписями по осям. Вызовите bubblesize функция для уменьшения размеров пузыря и добавления легенды пузыря, которая показывает связь между размером пузыря и населением.

    towns = randi([25000 500000],[1 30]);
    nsites = randi(10,1,30);
    levels = (3 * nsites) + (7 * randn(1,30) + 20);
    
    % Display bubble chart with axis labels and legend
    bubblechart(nsites,levels,towns)
    xlabel('Number of Industrial Sites')
    ylabel('Contamination Level')
    bubblesize([5 30])
    bubblelegend('Town Population','Location','eastoutside')

    Figure contains an axes and an object of type bubblelegend. The axes contains an object of type bubblechart.

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

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

    x = 1:20;
    y1 = rand(1,20);
    y2 = rand(1,20);
    sz1 = randi([20 500],[1,20]);
    sz2 = randi([20 500],[1,20]);
    
    % Plot data in a tiled chart layout
    t = tiledlayout(1,1);
    nexttile
    bubblechart(x,y1,sz1)
    hold on
    bubblechart(x,y2,sz1)
    hold off

    Figure contains an axes. The axes contains 2 objects of type bubblechart.

    Добавьте легенду пузыря для иллюстрации размеров пузыря и еще одну легенду для иллюстрации цветов. Вызовите bubblelegend и legend функции с возвращаемым аргументом для хранения каждого объекта легенды. Переместите легенды в правую внешнюю плитку размещения мозаичного графика путем установки Layout.Tile свойство для каждого объекта, который нужно 'east'.

    blgd = bubblelegend('Population');
    lgd = legend('Springfield','Fairview');
    blgd.Layout.Tile = 'east';
    lgd.Layout.Tile = 'east';

    Figure contains an axes. The axes contains 2 objects of type bubblechart. These objects represent Springfield, Fairview.

    Определить два набора данных, которые показывают уровни загрязнения определенного токсина в разных городах с восточной и западной стороны определенного района. Определите towns1 и towns2 как населения через города. Определите nsites1 и nsites2 как количество промышленных площадок в соответствующих городах. Затем задайте levels1 и levels2 как уровни загрязнения в городах.

    towns1 = randi([25000 500000],[1 30]);
    towns2 = towns1/3;
    nsites1 = randi(10,1,30);
    nsites2 = randi(10,1,30);
    levels1 = (5 * nsites2) + (7 * randn(1,30) + 20);
    levels2 = (3 * nsites1) + (7 * randn(1,30) + 20);

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

    tiledlayout(1,2,'TileSpacing','compact')
    
    % West side
    ax1 = nexttile;
    bubblechart(ax1,nsites1,levels1,towns1);
    title('West Side')
    xlabel('Number of Industrial Sites')
    
    % East side
    ax2 = nexttile;
    bubblechart(ax2,nsites2,levels2,towns2);
    title('East Side')
    xlabel('Number of Industrial Sites')
    ylabel('Contamination Level')

    Figure contains 2 axes. Axes 1 with title West Side contains an object of type bubblechart. Axes 2 with title East Side contains an object of type bubblechart.

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

    bubblesize(ax1,[5 30])
    bubblesize(ax2,[5 30])

    Figure contains 2 axes. Axes 1 with title West Side contains an object of type bubblechart. Axes 2 with title East Side contains an object of type bubblechart.

    Западные города в три раза больше восточных городов, но размеры пузырей не отражают эту информацию на предыдущих графиках. Это связано с тем, что наименьшие и самые большие пузыри сопоставляются с наименьшими и самыми большими точками данных в каждой из осей. Чтобы отобразить пузыри в той же шкале, задайте вектор с именем alltowns это включает населения с обеих сторон города. Используйте bubblelim функция для сброса масштабирования для обоих графиков. Далее используйте xlim и ylim функции для отображения графиков с одинаковыми пределами по осям X и ось Y

    % Adjust scale of the bubbles
    alltowns = [towns1 towns2];
    newlims = [min(alltowns) max(alltowns)];
    bubblelim(ax1,newlims)
    bubblelim(ax2,newlims)
    
    % Adjust x-axis limits
    allx = [xlim(ax1) xlim(ax2)];
    xmin = min(allx);
    xmax = max(allx);
    xlim([ax1 ax2],[xmin xmax]);
    
    % Adjust y-axis limits
    ally = [ylim(ax1) ylim(ax2)];
    ymin = min(ally);
    ymax = max(ally);
    ylim([ax1 ax2],[ymin ymax]);

    Figure contains 2 axes. Axes 1 with title West Side contains an object of type bubblechart. Axes 2 with title East Side contains an object of type bubblechart.

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

    свернуть все

    x -cordinates, заданный как числовой скаляр или вектор той же длины, что и y.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical

    y -cordinates, заданный как числовой скаляр или вектор той же длины, что и x.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical

    Размеры пузыря, заданные в виде числа или вектора той же длины, что и x и y.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

    Отобразите пузыри с тем же цветом

    Задайте одно из следующих значений, чтобы отобразить все пузыри с одним и тем же цветом:

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

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

    • Название цвета или краткое имя - Название цвета или краткое имя из таблицы ниже.

    Название цветаКраткое имяТриплет 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'

    Отобразите пузыри с различными цветами

    Задайте одно из следующих значений, чтобы назначить отдельный цвет каждому пузырю:

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

    • Вектор индексов палитры - вектор m на 1 чисел, которые индексируются в текущую палитру. Значения в векторе охватывают всюсь область значений палитры. Длина c должен равняться длине векторов координат. Чтобы изменить палитру для осей, используйте colormap функция.

    Целевые оси, заданные как Axes, PolarAxes, или GeographicAxes объект. Если вы не задаете оси, графики MATLAB в текущие системы координат создает Axes объект, если он не существует.

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

    Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

    Пример: bubblechart([1 2 3],[4 10 9],[1 2 3],'MarkerFaceColor','red') создает красные пузыри.

    Примечание

    Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойства BubbleChart.

    Цвет контура маркера, заданный 'flat', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. Значение по умолчанию 'flat' использует цвета из 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'

    'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

    Вот триплеты 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'

    Пример: [0.5 0.5 0.5]

    Пример: 'blue'

    Пример: '#D2F9A7'

    Цвет заливки маркера, заданный как 'flat', 'auto', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. The 'flat' опция использует CData значения. The 'auto' опция использует тот же цвет, что и Color свойство для осей.

    Для пользовательского цвета укажите триплет 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'

    'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

    Вот триплеты 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'

    Пример: [0.3 0.2 0.1]

    Пример: 'green'

    Пример: '#D2F9A7'

    Ширина ребра маркера, заданная как положительное значение в модули точки.

    Пример: 0.75

    Ребро маркера, заданная как скаляр в области значений [0,1] или 'flat'. Значение 1 непрозрачно, а 0 полностью прозрачно. Значения от 0 до 1 являются полупрозрачными.

    Чтобы задать прозрачность ребра другим значением для каждой точки на графике, установите AlphaData свойство вектору того же размера, что и XData свойство и установите MarkerEdgeAlpha свойство к 'flat'.

    Прозрачность лица маркера, заданная как скаляр в области значений [0,1] или 'flat'. Значение 1 непрозрачно, а 0 полностью прозрачно. Значения от 0 до 1 являются частично прозрачными.

    Чтобы задать прозрачность грани маркера другое значение для каждой точки, установите AlphaData свойство вектору того же размера, что и XData свойство и установите MarkerFaceAlpha свойство к 'flat'.

    См. также

    Функции

    Свойства

    Введенный в R2020b