2017-08-13 3 views
1

Gibt es eine Möglichkeit, Plot-Marker-Eigenschaft in Matlab zuzugreifen und festzulegen?Matlab-Plotmarkierungsetikett (NodeLabel) -Eigenschaft

In einigen Fällen, besonders wenn die benutzerdefinierte Marker verwendet wird (wie im Bild unten), ist es notwendig, NodeLabel 's Position, Schriftart und Farbe zu setzen, um es in der Abbildung deutlich zu machen.

enter image description here

g_obj = graph(sources, targets); 
gp = plot(g_obj); 

gp ist ein Objekt Matlab GraphPlot und obwohl gp.NodeLabel ist über der Schicht liegt, hat aber visuelle Interferenz mit benutzerdefinierten Marker schwarze Linien und beispielsweise AL1, NAL1 und S6R2 sind nicht lesbar.

Gibt es eine Möglichkeit, die Schriftart und -position des Markierers unter Verwendung der gp selbst einzustellen?

Antwort

0

Ich habe versucht, diese solution, die eine gewisse Flexibilität gibt, kopiert nur die Position und die Etiketten dann mit mehr Flexibilität in Farbe, Schriftart Text anstelle von NodeLabel verwendet und usw.

%%--- 
gp = plot(graph_object,'Layout','layered'); 
labels = gp.NodeLabel; 
gp.NodeLabel = []; 
gp.LineStyle = 'none'; gp.Marker = 'none'; 

for i=1:length(labels) 
    text(gp.XData(i)+2, gp.YData(i)-5,labels(i),... 
     'fontsize', 8,'FontName', 'Arial', 'Color',[0 0.25 0],... 
     'FontWeight', 'bold'); 
end 

enter image description here

Verwandte Themen