Matlab 绘图标记标签 (NodeLabel) 属性
Matlab plot marker label (NodeLabel) property
有没有办法在 Matlab 中访问和设置绘图标记 属性?
在某些情况下,尤其是使用用户自定义的Marker
时(如下图),需要设置NodeLabel
的位置、字体和颜色,使其在图.
g_obj = graph(sources, targets);
gp = plot(g_obj);
gp
是一个 Matlab GraphPlot
对象,即使 gp.NodeLabel
位于上层,但与用户定义的标记的黑线有视觉干扰,例如 AL1、NAL1 和 S6R2 不可读。
有没有办法使用 gp
本身来设置标记的字体和位置?
我尝试了这个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
有没有办法在 Matlab 中访问和设置绘图标记 属性?
在某些情况下,尤其是使用用户自定义的Marker
时(如下图),需要设置NodeLabel
的位置、字体和颜色,使其在图.
g_obj = graph(sources, targets);
gp = plot(g_obj);
gp
是一个 Matlab GraphPlot
对象,即使 gp.NodeLabel
位于上层,但与用户定义的标记的黑线有视觉干扰,例如 AL1、NAL1 和 S6R2 不可读。
有没有办法使用 gp
本身来设置标记的字体和位置?
我尝试了这个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