我有 5 个属性,我认为将它们沿着五边形的轴线可视化会很好。这些属性可以取 0-5 之间的整数值。它们合在一起跨越五边形内的一个表面。
这就是我希望图像看起来的样子 [我花了很长时间在 inkscape 中制作标记 :-)]:
这是我目前所拥有的:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}
\newdimen\R
\R=4cm
\node[draw=black, minimum size=\R,regular polygon,regular polygon sides=5] (a) {};
\draw (a.center) -- (a.north) node[above] {Property1};
\draw (a.center) -- (a.corner 5) node[right] {Property2};
\draw (a.center) -- (a.corner 4) node[right] {Property3};
\draw (a.center) -- (a.corner 3) node[left] {Property4};
\draw (a.center) -- (a.corner 2) node[left] {Property5};
\draw [thin,black!20] circle (\R) ;
\fill[red] circle (2pt);
% Trial/error for this example
% P1 P2 P3 P4 P5
\draw[fill=cyan, opacity=0.8] (0,1.5) -- (0.9,0.3) -- (0.55, -0.8) -- (-0.6,-0.8) -- (-1.4,0.45) -- cycle;
\end{tikzpicture}
\end{document}
结果是:
我无法在顶点上绘制标记并让它们具有相同的空间,并且在填充由 5 个整数值给出的多边形时同样迷失
因为我有相当多的东西要画,所以把上面的内容做成宏就太好了:-)
答案1
以下是使用以下方法的手动实现pstricks
。因此,使用 LaTeX 或 XeLaTeX 进行编译:
\documentclass{article}
\usepackage{pstricks}% http://tug.org/PSTricks/main.cgi/
\usepackage{multido,xcolor}% http://ctan.org/pkg/{multido,xcolor}
\newcommand{\proppoly}[6][]{
\pspolygon[fillstyle=solid,fillcolor=cyan,opacity=0.8,#1]%
(#2;90)(#3;162)(#4;234)(#5;306)(#6;18)% Property polygon
}
\begin{document}
\begin{pspicture}(-5,-5)(5,5)
\SpecialCoor% Allow for polar coordinate specifications
\psset{runit=3cm,linewidth=.5pt}
\pscircle[linecolor=black!20](0,0){1.2}% Outer circle
\psset{linecolor=black!50}
\multido{\iA=1+1,\iB=90+72}{5}{
\psline(0,0)(1;\iB)% Radial line outward
\multido{\rC=0.2+0.2}{4}{%
\rput{\number\numexpr\iB+90\relax}(\rC;\iB){\psline(-2pt,0)(2pt,0)}}% Ticks are 4pt in length
\rput{0}(1.1;\iB){\iA}% Property #s
}
\pspolygon(1;90)(1;162)(1;234)(1;306)(1;18)% Outer pentagon
\proppoly{0.8}{0.87654}{0.4765}{0.55}{0.314}
\end{pspicture}
\end{document}
\proppoly[<options>]{<p1>}{<p2>}{<p3>}{<p4>}{<p5>}
<p1>
绘制一个多边形,包含属性、<p2>
、<p3>
和的值,<p4>
以及<p5>
选项<options>
。
您可以添加多个\proppoly
s :
...
\proppoly{0.8}{0.87654}{0.4765}{0.55}{0.314}
\proppoly[fillcolor=green!30!yellow]{0.4}{0.5}{0.7}{0.9}{1}
\proppoly[fillcolor=red!70,opacity]{0.2}{0.3}{0.2}{0.3}{0.2}
...