How do I change the marker size for a plot?
    1.605 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    john birt
      
 am 30 Apr. 2011
  
    
    
    
    
    Bearbeitet: DGM
      
      
 am 19 Nov. 2024
            Im trying to set the marker size on a plot but having no luck, heres my code this works fine plot( x , x^2,'-k*',... x , x^3,'-ko',... x , x^4,'-k' ) but when i try and set marker size it does not plot( x , x^2,'-k*',... x , x^3,'-ko','MarkerSize',12,... x , x^4,'-k' ) what do I need to do?
1 Kommentar
Akzeptierte Antwort
  Oleg Komarov
      
      
 am 13 Nov. 2024
        
      Bearbeitet: MathWorks Support Team
    
 am 13 Nov. 2024
  
      You can change the marker size for a line plot by setting the “MarkerSize” property, either as a name-value pair or by accessing the “Line” object. Name-value pair: If you set this property as a name-value pair with the “plot” function, you must set it after all the x,y pairs. Name-value pair settings apply to all the plotted lines. To use a different marker size for each line, use separate “plot” commands. For example: plot(x,x^2,'-k*', 'MarkerSize',20) hold on plot(x,x^3,'-ko','MarkerSize',12) plot(x,x^4,'-k' ) hold off Accessing the “Line” object: Alternatively, return the “Line” objects as an output argument from the “plot” function and then set the “MarkerSize” property for each object separately. p = plot(x,x^2,'-k*', x,x^3,'-ko', x,x^4,'-k' ) p(1).MarkerSize = 20; p(2).MarkerSize = 12;
5 Kommentare
  DGM
      
      
 am 19 Nov. 2024
				
      Bearbeitet: DGM
      
      
 am 19 Nov. 2024
  
			Well, normally I'd run this, but I guess that doesn't work either now.
% some fake data
x = 0:10;
y1 = x.^1.5;
y2 = x.^1.6;
% plot it by specifying combined marker and line style
hp1 = plot(x,y1,'o:'); hold on
% plot it by specifying marker style alone
hp2 = plot(x,y2,'marker','square')
% if you want to change the marker style, you can
% these are the supported values for the 'marker' property
set(hp2,'marker')
Weitere Antworten (3)
  Jan
      
      
 am 30 Apr. 2011
        plot(x, x^2,'-k*');
hold('on');
plot(x, x^3,'-ko','MarkerSize', 12);
plot(x, x^4,'-k');
2 Kommentare
  Leo Simon
      
 am 22 Mai 2014
				For some obscure reason, MarkerSize is not consistently used. When you use scatter, you need to set 'SizeData' instead of 'MarkerSize'. Also, the scale of SizeData is different from that of MarkerSize' E.g.,
h = scatter(rand,rand,'b','filled'); set(h,'SizeData',96);
  Michelle Hirsch
    
 am 29 Jan. 2016
				The difference is subtle, but intentional. It stems from the different use cases.
MarkerSize is used to control the overall size of markers, just like the overall width of a line with LineWidth or font size. The units are in points, just like LineWidth.
Scatter is used to actually scale the marker sizes based on data. Specifically, the area of the marker is proportional to the value. This is why the units are in points squared.
  Matt Fig
      
      
 am 30 Apr. 2011
        To make this type of thing much easier, you could download this code so that all these options are available from a simple mouse click:
3 Kommentare
  Michelle Hirsch
    
 am 29 Jan. 2016
				You can also enable a context menu for changing line and marker properties just by enabling plot edit mode. Click on the button in the Figure toolbar with an arrow on it, then right click on your line.
  Hari Desanur
    
 am 15 Nov. 2016
        The Marker Size property for a particular line can be set using line object handles. For example -
l = plot(x1,y1,'*-',x2,y2,'*-');
l(1).MarkerSize = 8; % set marker size of 8 for the first line (x1,y1)
l(2).MarkerSize = 12;
1 Kommentar
  P_L
 am 18 Apr. 2019
				Hi there and what if you wanted to chnage the colours of 'ko' data points so that they are filled for example with 'b'
Many thanks 
Siehe auch
Kategorien
				Mehr zu Labels and Styling finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!