在 pgfplot 中使用轴/点的对称性?

在 pgfplot 中使用轴/点的对称性?

有没有办法利用轴或点的对称性pgfplot

那么您只需定义坐标的一半或四分之一?

例如做这样的事情: 在此处输入图片描述

更省力?

带有“一个季度”数据(表格)的示例代码应进行“镜像”以实现类似上图的效果:

\usepgfplotslibrary{polar}

%%%% for speed only: %%%%%%
\usepgfplotslibrary{external}
\tikzexternalize
\tikzsetexternalprefix{tikz-fig-precomp-cache/}
%%%%%%%%%%


\begin{figure}[H]
    \centering
\begin{tikzpicture}
\begin{polaraxis}[
xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
ymin=0,
ymax=0.7]
\addplot  [smooth, color=blue]
table{
90 0.4
30 0.45
0 0.47
};
\end{polaraxis}
\end{tikzpicture}
\caption{Polar}
\end{figure}

答案1

这应该可以解决极坐标图的问题。在 TikZ 中(因此在 pgfplots 中),可以通过后处理和预处理将相同的 poth 重复用于不同的目的。然后,在某处捕捉和挤压额外的转换只是一个时间问题。

我定义了(主要是从原版中窃取的)一种简单的使用风格,需要一些路径绘制规范和 x 比例和 ay 比例

mirrored postaction=<path action> via <xscale> and <yscale>

请将此作为起点,并根据您的需要进一步修改。

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}

\usepgfplotslibrary{polar}
\makeatletter
\def\tikz@extra@mirr@red@postaction#1#2#3{%
  {%
    \pgfsys@beginscope%
      \pgflowlevel{%
      \pgftransformxscale{#2}%
      \pgftransformyscale{#3}}%
      \setbox\tikz@figbox=\box\pgfutil@voidb@x%
      \tikz@restorepathsize%
      \path[#1]\pgfextra{\pgfsyssoftpath@setcurrentpath\tikz@actions@path};
      \pgf@resetpathsizes%
    \pgfsys@endscope%
  }%
}

\tikzset{mirrored postaction/.code args={#1 via #2 and #3}{%
\expandafter\def\expandafter\tikz@postactions\expandafter{%
    \tikz@postactions\tikz@extra@mirr@red@postaction{#1}{#2}{#3}
    }
  }
}
\makeatother



\begin{document}

\begin{tikzpicture}
\begin{polaraxis}[
xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
ymin=0,
ymax=0.7]
\addplot [smooth, color=blue,
mirrored postaction=draw via 1 and -1,
mirrored postaction={ultra thick,dashed,draw} via -1 and 1,
mirrored postaction={ultra thin,red,fill} via -1 and -1,]
table{
90 0.4
80 0.7
70 0.6
60 0.8
50 1.5
30 0.45
10 -0.1
0 0.47
};
\end{polaraxis}
\end{tikzpicture}


\end{document}

这里我使用了三次相同的路径,但使用了不同的绘图规范和红色填充。从这个例子中可以看出,您可以多次调用后续操作和预操作。

在此处输入图片描述

在你的例子中结果变成

在此处输入图片描述

您甚至可以将这三种镜像的后动作样式嵌入到一种样式中,使其更加方便。

相关内容