2017-08-13 129 views
1

有沒有什麼方法可以在Matlab中訪問和設置繪圖標記屬性?Matlab繪圖標記標籤(NodeLabel)屬性

在某些情況下,特別是當使用用戶定義的Marker(如下圖)時,必須設置NodeLabel的位置,字體和顏色,以使其在圖中不同。

enter image description here

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

gp是一個Matlab GraphPlot對象並且即使gp.NodeLabel位於上述層,但是具有與用戶定義的標記物的黑線,並且例如AL1視覺干擾,NAL1S6R2不可讀。

有沒有什麼方法使用gp本身來設置標記的字體和位置?

回答

0

我嘗試這樣solution其中給出了一些靈活性,剛纔複製的位置和標籤然後使用文本而不是NodeLabel在顏色,字體更大的靈活性和等

%%--- 
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