有没有办法在Matlab中访问和设置绘图标记属性?
在某些情况下,尤其是在使用用户定义的Marker
时(如下图所示),有必要设置NodeLabel
的位置,字体和颜色,以使其与这个数字。
g_obj = graph(sources, targets);
gp = plot(g_obj);
gp
是一个Matlab GraphPlot
对象,即使gp.NodeLabel
位于上一层,但对用户定义的标记具有视觉干扰&#39}。黑线,例如 AL1 , NAL1 和 S6R2 不可读。
有没有办法使用gp
本身设置标记的字体和位置?
答案 0 :(得分: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