填充两条不同曲线之间的区域

填充两条不同曲线之间的区域

我在 PSTricks 中有以下 MWE:

\documentclass{article}
\usepackage{pstricks}
\usepackage{pst-plot}
\begin{document}
  \psset{xunit=2cm,yunit=1.5cm}
  \begin{pspicture}(80,-2)(120,2)
    \savedata{\mydatasinexp}%
[{83., -1.45},{87., -1.49},{98., -1.6}, %lower row
 {83., +1.45},{87., +1.49},{98., +1.6}] %upper row

\dataplot[plotstyle=dots,linecolor=blue,
      dotsize=2.5pt]{\mydatasinexp}
        \end{pspicture}
\end{document} 

正如数据点所示,我有一条上曲线和一条下曲线。我想填充这两条曲线之间的区域。是否可以使用 PSTricks 来实现这一点?

答案1

我不太明白你所说的“曲线”是什么意思。点的顺序对于填充很重要

\documentclass{article}
\usepackage{pst-plot}
\begin{document}
  \psset{xunit=5mm,yunit=10mm}
  \begin{pspicture}(80,-2)(120,2)
    \savedata\mydatasinexp%
[{83., -1.45},{87., -1.49},{98., -1.6}, %lower row
 {83., +1.45},{87., +1.49},{98., +1.6}] %upper row
\dataplot[showpoints,linestyle=none,fillstyle=solid,
      fillcolor=blue!40,dotsize=5pt]{\mydatasinexp}
\end{pspicture}
\end{document} 

不过,我猜你的意思是这样的:

\begin{pspicture}(80,-2)(120,2)
\pscustom[showpoints,linestyle=none,fillstyle=solid,
      fillcolor=blue!40,dotsize=5pt]{%
\listplot{83. -1.45 87. -1.49 98. -1.6}
\listplot[ChangeOrder]{83. 1.45 87. 1.49 98. 1.6}
}
\end{pspicture}

答案2

一种可能性当然是使用\pspolygon然后使用四个端点,即

\documentclass{article}
\usepackage{pstricks}
\usepackage{pst-plot}
\begin{document}
  \psset{xunit=2cm,yunit=1.5cm}
  \begin{pspicture}(80,-2)(120,2)
    \savedata{\mydatasinexp}%
\pspolygon*(83., -1.45)(83., +1.45)(98., -1.6)(98., +1.6)

\dataplot[plotstyle=dots,linecolor=blue,
      dotsize=2.5pt]{\mydatasinexp}
        \end{pspicture}
\end{document} 

相关内容