\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页。