我已经做了这个图
从此代码:
\documentclass[tikz]{standalone}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}[domain=-90:200, x=0.025cm, y=0.15cm]
\draw[->,very thick] (-100,0) -- (250,0) node[right] {$x$};
\draw[->,very thick] (0,0) -- (0,45) node[above] {$y$};
\foreach \x in {-4,...,10} {
\draw (20*\x,0) -- (20*\x,-1);
}
\foreach \y in {0,...,45} {
\draw (0,\y) -- (-1,\y);
}
\draw[color=blue] plot ({\x},{34}) node[right] {$MR = 34$};
\draw[color=red] plot ({\x},{0.0018*\x*\x-0.2*\x+10}) node[above] {$MC = 0.0018 Q^2-0.2 Q + 10$};
\fill[pattern color=green, pattern=north east lines, opacity=0.9] plot[domain=-72.5840284:183.69514] ({\x},{0.0018*\x*\x-0.2*\x+10}) -- plot ({\x},{34}) -- cycle node {$DB$};
\end{tikzpicture}
\end{document}
如何才能获取DB
填充区域内的带文本的节点?如果我使用node[midway]
它,它将位于蓝线中间上方,但我希望它正好位于填充的绿色区域的中间。
答案1
你可以使用path picture
类似
\fill[pattern color=green, pattern=north east lines, opacity=0.9,path picture={
\node[anchor=south] at (path picture bounding box.center) {DB};
}] plot[domain=-72.5840284:183.69514] ({\x},{0.0018*\x*\x-0.2*\x+10}) -- plot ({\x},{34}) -- cycle;
代码:
\documentclass[tikz]{standalone}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}[domain=-90:200, x=0.025cm, y=0.15cm]
\draw[->,very thick] (-100,0) -- (250,0) node[right] {$x$};
\draw[->,very thick] (0,0) -- (0,45) node[above] {$y$};
\foreach \x in {-4,...,10} {
\draw (20*\x,0) -- (20*\x,-1);
}
\foreach \y in {0,...,45} {
\draw (0,\y) -- (-1,\y);
}
\draw[color=blue] plot ({\x},{34}) node[right] {$MR = 34$};
\draw[color=red] plot ({\x},{0.0018*\x*\x-0.2*\x+10}) node[above] {$MC = 0.0018 Q^2-0.2 Q + 10$};
\fill[pattern color=green, pattern=north east lines, opacity=0.9,path picture={
\node[anchor=south] at (path picture bounding box.center) {DB};
}] plot[domain=-72.5840284:183.69514] ({\x},{0.0018*\x*\x-0.2*\x+10}) -- plot ({\x},{34}) -- cycle;
\end{tikzpicture}
\end{document}