我正在寻找一些代码,用于绘制由 x=0、x=1、y=0、y=1 和 z=xy 界定的区域(其中 z 为某个值)。基本上,只是一个单位正方形的图形,其顶点为 (0,0)、(0, 1)、(1,0)、(1,1),右上角被 z=xy 切开。
非常感谢您的帮助,我对乳胶还很陌生。
\begin{tikzpicture}
\begin{axis}[xtick={0, 0.7, 1}, ytick={0, 0.7,1}];
\addplot[domain=0.7:1]{0.7/x};
\addplot[domain=0:0.7]{1};
\end{axis}
\end{tikzpicture}
答案1
您的图可能看起来不正确,因为您没有显示 y 的完整范围。要解决此问题,请添加ymin=0
。通过添加其他最小值和最大值,您还可以将其压缩为一个而不是两个图。
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xtick={0, 0.7, 1}, ytick={0, 0.7,1},xmin=0,xmax=1,ymin=0,ymax=1];
\addplot[domain=0:1,samples=101]{0.7/x};
\end{axis}
\end{tikzpicture}
\end{document}
其他选项包括使用轮廓图
\documentclass[tikz,border=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[colormap/viridis, view={0}{90}]
\addplot3 [domain=0:1,samples=101,
contour filled={
levels={0.7}
},
] {x*y};
\end{axis}
\end{tikzpicture}
\end{document}