如何用tikz填充不规则图形的颜色

2019-10-31 15:55发布

我准备用tikz画这样的一个图 ![](https://wenda.latexstudio.net/data/attach/191031/mwKlzxCG.png) 图中`A`和`B`区域打算用不同的...

我准备用tikz画这样的一个图 ![](https://wenda.latexstudio.net/data/attach/191031/mwKlzxCG.png) 图中`A`和`B`区域打算用不同的颜色区分,可是该如何用`\fill`(或其他命令)命令实现呢? 目前能做到的代码如下 ```tex \documentclass[UTF8]{standalone} \usepackage{amsmath,fourier,ctex,tikz} \begin{document} \begin{tikzpicture}[domain=-0.3:3] \draw[-latex] (-0.3,0) node[left=-3pt,below=-2pt] {$O$} -- (2,0) node[below] {$x$}; \draw[-latex] (0,-0.3) -- (0,2) node[left] {$y$}; \draw[domain=0:1.2] plot (\x,{0.5*\x^2}) node[right] {$y = x^{2}$}; \draw[domain=0:0.9] plot (\x,{2*\x^2}) node[right] {$y = 2x^{2}$}; \draw[domain=0:0.62] plot (\x,{3.5*\x^2}) node[above] {$L$}; \draw[dashed] (0.8,2*0.8^2) -- (0,2*0.8^2); \draw[dashed] (0.8,2*0.8^2) -- (0.8,0); \fill[domain=0:0.8,fill=gray] (0,0) plot (\x,{0.5*\x^2}) -- (0.8,2*0.8^2) plot (\x,{2*\x^2}); \end{tikzpicture} \end{document} ``` 不知道怎么才能将`y = 2x^{2}`设置为阴影的边界
3条回答
registor
2019-10-31 19:31
使用pgfplots宏包的fillbetween库也许是一个办法。 一个来自[https://tex.stackexchange.com/questions/367668/strange-fill-between-behavior](https://tex.stackexchange.com/questions/367668/strange-fill-between-behavior "https://tex.stackexchange.com/questions/367668/strange-fill-between-behavior")的例子如下: ```tex \documentclass{standalone} \usepackage{tikz,pgfplots} \usepgfplotslibrary{fillbetween} \pgfplotsset{compat=1.3} \begin{document} \begin{tikzpicture} \begin{axis}[ xmin=-2,xmax=2, ymin=0,ymax=4, height = 6cm, minor tick num=1, axis lines=center, axis line style=<-> ] \addplot[name path=G,green,domain={-2:2}] {x^2}; \addplot[name path=F,blue,domain={-2:2}] {-x^2+2}; % \addplot[color=blue!50]fill between[of=G and F, split, clip={domain=-1:1}]; \tikzfillbetween [of=F and G,split,every even segment/.style={white!1}] {red!50}; \end{axis} \end{tikzpicture} \end{document} ``` 另一个来自[https://tex.stackexchange.com/questions/7914/fill-between-two-curves-in-pgfplots](https://tex.stackexchange.com/questions/7914/fill-between-two-curves-in-pgfplots "https://tex.stackexchange.com/questions/7914/fill-between-two-curves-in-pgfplots")的例子为: ```tex \documentclass{standalone} \usepackage{pgfplots} \pgfplotsset{compat=1.10} \usepgfplotslibrary{fillbetween} \begin{document} \begin{tikzpicture} \begin{axis} \addplot[name path=A,blue,mark=*,line width=2pt] table { 0 2 0.5 -1 1 3 }; \addplot[name path=B,orange,mark=*,line width=2pt] coordinates {(0,0) (1,1)}; \addplot[gray!40] fill between[of=A and B]; \end{axis} \end{tikzpicture} \end{document} ``` 可以将函数改为需要的函数,希望对解决问题有用。 可在命令行使用`texdoc pgfplots`查看其使用说明。

一周热门 更多>