我正在尝试弄清楚如何对图形上两条线所包围的区域以及 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}