不应该\resizebox
随整个图片一起调整标签大小吗?如何避免将标签放在箭头上方(除了旋转图像,我不想这样做)?
\resizebox{12cm}{!}{
\begin{tikzpicture}
\tkzKiviatDiagram[label distance=.5cm]{{Kolerikus},{Szangvinikus},{Melankolikus},{Flegmatikus}}
\tkzKiviatLine[thick,color=blue,mark=none,
fill=blue!20,opacity=.5](5.0,2.30769230769,4.66666666667,4.16666666667
)
\tkzKiviatGrad[prefix=,unity=10,suffix=\ \%](1)
\end{tikzpicture}
}
\caption{Vérmérséklet}
\end{figure}
答案1
使用以下标准前导码(带有和不带有)时,我没有得到错误的输出\resizebox
。
但是,由于 是label style
预先定义的,并且text width=2cm
的水平间距会有所不同,因为更细,因此箭头的空间更大。我建议(至少在这种情况下)使用固定间距并进行以下调整:Melankolikus
Kolerikus
Kolerikus
\pgfkeys{/kiviat/label style/.style={align=center,anchor=180+360/\tkz@kiv@radial*\rang}}
这tikzscale
包裹帮助将 TikZ 图片缩放到固定宽度但无需重新调整字体大小和线宽。不幸的是 (?) TikZ 图片必须在扩展名为 的额外文件中提供.tikz
。
(由于略小于 ,标准article
类将给出过满的 hbox 警告。无论哪种方式,建议使用。)\textwidth
12cm
width=\textwidth
代码
\documentclass{article}
\begin{filecontents}{\jobname.tikz}
\begin{tikzpicture}
\tkzKiviatDiagram[label space=.5]{Kolerikus,Szangvinikus,Melankolikus,Flegmatikus}
\tkzKiviatLine[thick,color=blue,mark=none,
fill=blue!20,opacity=.5](5.0,2.30769230769,4.66666666667,4.16666666667)
\tkzKiviatGrad[prefix=,unity=10,suffix=\ \%](1)
\end{tikzpicture}
\end{filecontents}
\usepackage{tkz-kiviat,tikzscale}
\usetikzlibrary{arrows}
\makeatletter
\pgfkeys{/kiviat/label style/.style={align=center,anchor=180+360/\tkz@kiv@radial*\rang}}
\makeatother
\begin{document}
\includegraphics[width=12cm]{\jobname.tikz}
\end{document}