tikz中边缘标签位置和旋转变化

tikz中边缘标签位置和旋转变化
\documentclass{article}
 \usepackage{pgfplots}
 \usetikzlibrary{positioning,decorations.text}
\begin{document}
\begin{tikzpicture}[%
   roundnode/.style={circle, draw=black!60, fill=blue!5, thick, , minimum size=3.5mm},
   EdgeStyle/.style={draw=black, thick,font=\fontsize{8}{0}\selectfont}]

   \node[roundnode,label={[label distance=.5mm]90:\rotatebox{0}{\scriptsize ND}}]   (n1)    at  (0.84,1.00)         {\scriptsize 1};
   \node[roundnode,label={[label distance=.5mm]45:\rotatebox{5}{\scriptsize G}}]    (g2)    at  (2.04,1.26)         {\scriptsize 2};

   \def\myshift#1{\raisebox{1ex}}
   \draw [EdgeStyle,-,postaction={decorate,decoration={text along path,text align=center,text={|\scriptsize\myshift|Long long text}}}] (n1) to [bend left=10]  (g2);
\end{tikzpicture}
\end{document}

node label我可以分别使用\rotatebox和来旋转、改变位置lable={[]X:}。但是,不知道如何edge label在上述格式中获取这些属性。

答案1

我必须承认我迷失在你的代码中。而且问题对我来说也不清楚。我怀疑你喜欢旋转边和节点标签。如果是这种情况,请尝试:

编辑: 现在,经过所有的评论,关于标签距离、弯曲线条和文本的情况(稍微 :-) )更加清楚了。考虑到你们所有的评论,解决方案似乎可以是:

\documentclass[margin=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usetikzlibrary{decorations.text,  
                fit,               % added
                positioning,       % not used
                quotes}            % added

\begin{document}
    \begin{tikzpicture}[
    font=\scriptsize,
every label/.append style = {label distance=0pt, node distance=1pt},
  roundnode/.style = {circle, draw=black!60, fill=blue!5, thick,
                      minimum size=3.5mm},
every edge quotes/.append style = {sloped},
      IXS/.style={inner xsep=#1},
      IYS/.style={inner ysep=#1},
tap/.style args = {#1/#2}{decoration={raise=#1,
                                      text along path,
                                      text align={align=center},
                                      text={#2}
                                      },
              postaction={decorate},
              font=\scriptsize
              },
                   ]
\node[roundnode,label=90:ND] (n1)    {1};
\node[roundnode,label={[rotate=90]45:G}] (g2) at (120pt,26pt) {2};
% bounding box, if needed
\useasboundingbox%
    node (BB) [%draw,       % use when you defining its size
      IYS=24pt, yshift=8pt, % set by trail and error method
      fit=(n1) (g2)] {};
% edge label    
\draw (n1) edge ["1894" IXS=12mm, rotate=90]  (g2);
% bending text
\path [draw=red, tap={-12pt/text along path}]
                (n1)    to [bend right] (g2);
% bounding box, if needed
    \end{tikzpicture}
\end{document}

这使:

在此处输入图片描述

笔记:弯曲也会inner sep在图像中引入不可见点(标签边框、弯曲坐标),从而增加图像可见部分周围的白色空间。它可以通过定义自己来切断bounding box(如上面的 mwe 中所做的那样)。必须在使用边缘引用和弯曲边缘之前将其插入代码中。

有关详细信息,请阅读tikz 和 pgf 手册,v3.0.1a,即:

  • 对于引文部分:17.12.2 边上的节点:引号语法,第 247 页。
  • 用文字装饰路径:24.2 使用装饰路径命令装饰子路径,第 352 页
  • 值得阅读手册的完整第三部分:tikz 不是程序,第118--362页。

相关内容