Как назначить разные цвета для каждого набора данных с помощью plotpv? - PullRequest
0 голосов
/ 03 июля 2019

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

Мне было поручено домашнее задание, в котором я разделил два набора данных прямой линией (оба набора линейно разделяются расчетами, выполняемыми персептроном.) Если я не ошибаюсь, plotpv использует символы (+) и (или) по умолчанию для P и T (имена обоих наборов данных).

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

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

Различная цветная линия с plotpc в matlab

У меня нет кода, чтобы показать вам. У меня мало опыта в MATLAB. Кроме того, я полагаю, что решение будет иметь несколько строк, справа?

Я хотел бы получить красные + и синие буквы .... (например)

1 Ответ

0 голосов
/ 04 июля 2019

plotpv не очень полезен с точки зрения стилизации вывода, так как он не возвращает маркеры для построенных объектов.Однако вы можете обращаться к ним как к дочерним элементам соответствующего axes.

. Следующий код устанавливает для свойства MarkerEdgeColor для o s красный цвет, а для + - черный.

% plot data
p = [0 0 1 1; 0 1 0 1];
t = [0 0 0 1];
plotpv(p,t)

% change colors
ax = gca
for i = allchild(ax)'
    switch i.Marker
        case '+'
            i.MarkerEdgeColor = 'k';
        case 'o'
            i.MarkerEdgeColor = 'r';
    end
end

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...