Cuando se trazan varias series de datos utilizando tanto la especificación de línea (X,Y,linespec) trillizos y (PropertyName,PropertyValue) dobletes, un solo MarkerSize puede ser especificada y este tamaño se aplica a todas las series de datos. Por ejemplo,

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

Es posible especificar diferentes MarkerSize para cada una de las diferentes series de datos sin tener que recurrir a que el trazado de la serie de datos por separado o, posteriormente, la alteración de la trama controlar propiedades? Ninguno de los dos comandos siguientes es válida, pero que dan una idea del resultado deseado:

plot(X1,Y1,'.b',X2,Y2,'-r','MarkerSize',[5 10])
plot(X1,Y1,'.b','MarkerSize',5,X2,Y2,'-r','MarkerSize',10)
InformationsquelleAutor user001 | 2012-02-08

3 Comentarios

  1. 2

    Tratar:

    h = plot(X1,Y1,'.b',X2,Y2,'*r');
    set(h(1),'MarkerSize',5);
    set(h(2),'MarkerSize',2);
    • Gracias jonnat. Que va a funcionar. ¿Crees que es imposible especificar todo en una sola línea? Saludos.
    • No sé de una manera sencilla de hacerlo. Yo estaría interesado en saber si alguien sabe.
  2. 2

    Puede utilizar scatter. Tiene la SizeData propiedad que es un vector.

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

    Si quieres usar la línea de parcela con marcadores, puede sacar su parcela, uso hold on, y, a continuación, dibuje scatter en la parte superior de la misma.

    • Gracias @Andrey. Me gustaría ser capaz de elegir diferentes lineseries propiedades para cada uno de mis diferentes series de datos, que plot permisos, pero scatter por desgracia no. Por ejemplo, x=1:5; y=6:10; z=11:15; h=plot(x,x,'ok',y,y,'or',z,z,'ob'); set(h,'SizeData',[10 50 90]) sería bueno, pero no hay SizeData propiedad para plot. Este sería, idealmente, se aplican tamaño 10 a x de datos, 50 a y de datos, y 90 a z de datos.
  3. 0

    Para el que es probablemente

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

    O cualquier otra parcela dentro del bucle

    plot(x?, 0, '+', 'MarkerSize', 10, 'MarkerEdgeColor', 'r')
    • Encontramos este de otra solución

Dejar respuesta

Please enter your comment!
Please enter your name here