MATLAB: размер маркера спецификации линии - PullRequest
1 голос
/ 08 февраля 2012

При построении нескольких рядов данных с использованием обеих линий (X, Y, linespec) и триплетов (PropertyName, PropertyValue) можно указать только один MarkerSize, и этот размер относится ко всем рядам данных. Например,

plot(X1,Y1,'.b',X2,Y2,'-r','MarkerSize',5)

Можно ли указать разные MarkerSize для каждого из различных рядов данных, не прибегая к графическому построению ряда данных или последующему изменению свойств дескриптора графика? Ни одна из следующих двух команд не является действительной, но они дают представление о желаемом результате:

plot(X1,Y1,'.b',X2,Y2,'-r','MarkerSize',[5 10])
plot(X1,Y1,'.b','MarkerSize',5,X2,Y2,'-r','MarkerSize',10)

Ответы [ 3 ]

2 голосов
/ 08 февраля 2012

Вы можете использовать scatter. У него есть свойство SizeData, которое является вектором.

x = rand(10,1);
y = rand(10,1);
s = scatter(x,y);
set(s,'SizeData',linspace(1,100,10))

Если вы хотите использовать линейный график с маркерами, вы можете нарисовать свой график, использовать hold on, а затем нарисовать scatter поверх него.

2 голосов
/ 08 февраля 2012

Попробуйте:

h = plot(X1,Y1,'.b',X2,Y2,'*r');
set(h(1),'MarkerSize',5);
set(h(2),'MarkerSize',2);
0 голосов
/ 31 октября 2017

Для этого это, вероятно,

plot(x1,0,'+','MarkerSize',10)

Или любой другой график в цикле просто

plot(x?, 0, '+', 'MarkerSize', 10, 'MarkerEdgeColor', 'r')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...