使用 PSTricks 在线和轴之间添加阴影

使用 PSTricks 在线和轴之间添加阴影

我正在尝试弄清楚如何对图形上两条线所包围的区域以及 xy 图上的一个轴进行着色(从技术上讲,即相平面图上两条零斜线所包围的区域)。我尝试了 pspicture,并尝试使用 psclip 进行了几次尝试(基于猜测,以及一些在线的函数间着色示例,其中交点 >1),但都没有成功。在以下(相当差的) MWE 中,我保留了轴刻度和标签,以帮助纵坐标。基本上,我想对两条线所包围的左上区域进行着色(使用某种颜色)。[如果重要的话,两条线在 (1.94,2.44) 处相交。]

最终,我希望生成一些看起来或多或少像这样的东西:

在此处输入图片描述

在此先非常感谢关于如何使用 pspicture 实现的提示(尽管我愿意接受其他选择——比如,使用 tikz)。

\documentclass{article}

\usepackage{pstricks-add}

\begin{document}

\begin{pspicture}(-3.5,-0.5)(4,7)
\begin{psclip}{
\pscustom[linestyle=none,algebraic,plotpoints=2000]{
\psplot[algebraic,plotpoints=20,yMaxValue=5.6%,linecolor=cyan
]{0}{2}{x*(-5.5/3.5)+5.5}%
 \psplot[algebraic,plotpoints=20,yMaxValue=5.6%,linecolor=cyan
   ]{0}{2}{x*(-4/5)+4}
   }
  }%
     \psframe*[linecolor=cyan,fillstyle=solid](2,2.2)(4,5.5)
   \end{psclip}
 \psplot[algebraic,plotpoints=20,yMaxValue=5.6%,linecolor=cyan
  ]{0}{3.5}{x*(-1.57143)+5.5}
   \psplot[algebraic,plotpoints=20,yMaxValue=5.6%,linecolor=cyan
  ]{0}{5}{x*(-4/5)+4}
  \psaxes{->}(0,0)(0,0)(6,6.5)
 \uput[-90](5.9,-.1){$H$}
 \uput[-135](-.1,6.7){$P$}
 \end{pspicture} 

  \end{document}

答案1

这是简化的代码。 如果您按正确的顺序重新组织 的定义,\psframe则命令和psclip环境在这里不是必需的\pscustom。我还使用了 的可选参数来\psaxes放置 H 和 P 标签。

\documentclass[svgnames]{article}

\usepackage{pstricks-add}

\begin{document}

\begin{pspicture}(-3.5,-0.5)(4,7)
\pscustom[linestyle =none, algebraic,plotpoints=2000, fillstyle=solid, fillcolor =WhiteSmoke!70!Lavender!]{
\psplot[algebraic,plotpoints=20,yMaxValue=5.6%,linecolor=cyan
]{0}{1.944}{x*(-5.5/3.5)+5.5}%
 \psplot[algebraic,plotpoints=20,yMaxValue=5.6%,linecolor=cyan
   ]{1.944}{0}{x*(-4/5)+4}
  }%
 \psaxes{->}(0,0)(0,0)(6,6.5)[$H$,-110][$P$,-160]
\psset{algebraic,plotpoints=20,yMaxValue=5.6,linecolor=cyan }
 \psplot{0}{3.5}{x*(-5.5/3.5)+5.5}
 \psplot{0}{5}{x*(-4/5)+4}
 \end{pspicture}

  \end{document} 

在此处输入图片描述

答案2

\documentclass{article}
\usepackage{pst-eucl,pstricks-add}
\begin{document}

\def\F{x*(-5.5/3.5)+5.5} \def\G{x*(-4/5)+4}
\begin{pspicture}[algebraic](-3.5,-0.5)(4,7)
  \pstInterFF[PointName=none,PointSymbol=none]{\F}{\G}{0}{I}
  \pscustom[linestyle=none,algebraic,fillstyle=solid,fillcolor=blue!30]{%
    \psplot{0}{\psGetNodeCenter{I}I.x}{\F}%
    \psplot{\psGetNodeCenter{I}I.x}{0}{\G}
  }
  \psplot{0}{3.5}{\F}%
  \psplot{0}{5}{\G}
  \psaxes{->}(0,0)(0,0)(6,6.5)[$H$,-90][$P$,0]
 \end{pspicture} 

\end{document}

在此处输入图片描述

相关内容