MATLAB - нанесение нескольких наборов данных на диаграмму рассеяния - PullRequest
22 голосов
/ 20 марта 2010

У меня есть два набора данных (Ax, Ay; Bx, By). Я хотел бы отобразить оба этих набора данных на диаграмме рассеяния с разными цветами, но я не могу заставить ее работать, потому что кажется, scatter() не работает как plot(). Возможно ли это сделать?

Я пытался ...

scatter(Ax, Ay, 'g', Bx, By, 'b')

И

scatter(Ax, Ay, 'g')
scatter(Bx, By, 'b')

Первый способ возвращает ошибку. Последний отображает только данные Bx / By.

Ответы [ 3 ]

38 голосов
/ 20 марта 2010

Попробуйте использовать hold on со вторым примером.

5 голосов
/ 02 апреля 2010

сюжет (топор, ау, 'g.') генерирует точечный график с зелеными точками

если вы хотите больше кругов, вы можете использовать

сюжет (ax, ay, 'g.', 'MarkerSize', XX)% XX = 20 или что угодно

Чтобы сделать открытые круги

сюжет (топор, ау, иди)

Как вы знаете, сюжет можно объединить в цепочку, так что вы можете сделать это за один раз с

сюжет (топор, ау, 'go', bx, by, 'bo')

Разница между графиком и разбросом заключается в том, что разброс позволяет вам указать размер маркера, но вы не просите сделать это здесь.

4 голосов
/ 22 марта 2010

Другой вариант - использовать gscatter. Параметры разные, но иногда полезнее, чем scatter(...); hold on; scatter(...);

...