请问有人知道怎么画这个图吗

2020-05-04 22:26发布

@WST9J0`W%)4W%P@PN2`FX1.png

2条回答

需要设置的东西挺多的,我建议你还是用其他工具画吧,matlab或者python都可以。

这里给你一个例子,各个参数的设置自行查询pgfplot和pgfmanual文档

注意使用最新的pgfplot包

\documentclass[a4paper, 12pt]{article}
\usepackage{xcolor}
\usepackage{pgfplots}
\usepgfplotslibrary{fillbetween}
\usetikzlibrary{intersections}
\pgfplotsset{/tikz/font={\footnotesize}, compat=1.17}
\usepackage{xeCJK}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
  axis lines=middle,
  tick align=inside,
  xlabel={$x$},
  ylabel={$y$},
  xtick distance=1,
  ytick distance=2,
  xmin=-0.5, xmax=2.5,
  ymin=-5, ymax=9,
  extra y ticks={0},
  extra y tick style={
    tick label style={
      anchor=north east,
      yshift=-.5*\pgfkeysvalueof{/pgfplots/major tick length},
    }
  },
  xlabel style={
    at={(xticklabel* cs:1)},
    anchor=west,
  },
  ylabel style={
    at={(yticklabel* cs:1)},
    anchor=south,
  }
]
  \addplot[
    cyan,
    thick,
    domain=0:2,
    name path global=A,
  ]
  {9 * x^2 - 16 * x + 4};
  \path[name path global=B] (0, 0) -- (2, 0);
  \addplot[fill opacity=0.5] fill between [of=A and B,
    split,
    every even segment/.style={cyan!50},
    every odd segment/.style={orange!50},
  ];
  \fill [fill=brown, name intersections={
      of=A and B,
      name=i,
    }]
    (i-1) circle (2pt) node[anchor=north east] {$c$}
    (i-2) circle (2pt) node[anchor=north west] {$c$};
  \node[anchor=west] at (0.1, 8.2) {$y = f(x) = 9x^2 - 16x + 4$};
\end{axis}
\end{tikzpicture}
\end{document}

Screenshot from 2020-05-05 01-30-48.png

一周热门 更多>