Каков порядок цветов MATLAB по умолчанию?
У меня есть график с двумя гистограммами. Однако трудно сказать, какая гистограмма на графике исходит из первого набора данных, а какая-из второго. Для каждой гистограммы есть своя цветная линия: одна синяя, а другая зеленая. По умолчанию MATLAB 'ColorOrder' различаться между устройствами? Если нет - то каков приказ?
2 ответов
хороший вопрос! Существует порядок цветов по умолчанию для MATLAB. Обратите внимание, что в версиях до R2014b порядок цветов по умолчанию для MATLAB использует цветовую карту jet. На цветной карте jet первый участок синий, а затем второй участок зеленый. Для версий после R2014b это следует за цветовой картой parula, где первый участок будет более светлым синим, а второй участок - медным оранжевым. Если вы действительно хотите знать, какой порядок цветов для вашего сюжета, убедитесь, что сюжет открыт в MATLAB, затем выполните следующие действия:
get(gca,'colororder')
это вернет 2D-матрицу, где каждая строка дает вам долю красного, зеленого и синего для каждого графика, который вы производите. На моей машине во время этого сообщения, когда я запускал MATLAB R2013a и с Mac OSX 10.9.5, это то, что я получил:
>> get(gca,'colororder')
ans =
0 0 1.0000
0 0.5000 0
1.0000 0 0
0 0.7500 0.7500
0.7500 0 0.7500
0.7500 0.7500 0
0.2500 0.2500 0.2500
каждая строка дает вам красные, зеленые и синие значения для определенного цвета. Первая строка обозначает первый цвет на графике, далее следует вторая строка, обозначающая второй цвет и так далее.
как таковой, выше цвет заказа:
- чистый голубой
- светлый оттенок зеленого
- чистый красный
- смесь зеленого и синего, которая является голубой
- смесь красного и синего, которая является пурпурной
- смесь красный и зеленый, желтый
- светлая смесь красного, зеленого и голубого, которая выглядит как темнота серый.
В настоящее время (10 марта 2016), я использую MATLAB R2015a, и это цветовая карта, которую я получаю:
>> get(gca,'colororder')
ans =
0 0.4470 0.7410
0.8500 0.3250 0.0980
0.9290 0.6940 0.1250
0.4940 0.1840 0.5560
0.4660 0.6740 0.1880
0.3010 0.7450 0.9330
0.6350 0.0780 0.1840
кортежи RGB в этом случае немного сложнее, и поэтому трудно определить, что они такое, просто глядя на цвета.
в качестве дополнительного бонуса, мы можем создать изображение, которое визуализирует эти цвета для вас. Предполагая, что у вас есть панель обработки изображений, это код, который я написал, чтобы визуализировать эти цвета для каждого заговор вы размещаете в своей фигуре.
colours = permute(get(gca, 'colororder'), [1 3 2]);
colours_resize = imresize(colours, 50.0, 'nearest');
imshow(colours_resize);
вот что я получил для MATLAB R2013a:
запуск этого кода снова в MATLAB R2015a, вот что я получаю:
кроме того, вы всегда можете использовать legend это определяет, какая гистограмма исходит из каких данных.
существует цветовая карта для этой конкретной цели -lines (введено перед R2006a).
Вот что!--2--> говорит:
%LINES Color map with the line colors.
% LINES(M) returns an M-by-3 matrix containing a "ColorOrder"
% colormap. LINES, by itself, is the same length as the current
% colormap. If no figure exists, MATLAB uses the length of the
% default colormap.
если вы открываете документацию lines, вы можете увидеть изображение предварительного просмотра, которое выглядит очень похоже на то, что появляется в rayryeng это!--13-->:
таким образом, пока вы используете по умолчанию colormap, чтобы узнать цвета первого n линии, все, что вам нужно сделать, это позвонить lines(n).


