在五边形内绘制多边形表面

在五边形内绘制多边形表面

我有 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>

您可以添加多个\proppolys :

在此处输入图片描述

...
\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}
...

相关内容