绘制代数函数图形并转换为图像(PNG)

绘制代数函数图形并转换为图像(PNG)

我的目标是能够创造,即时,少量的图形——线性函数、二次函数、不等式,每种图形都有多个图。没有什么比你在高中代数 I 课程中看到的更复杂了。我还想能够为不等式图形着色。如果我应该为每种类型的函数提出不同的问题,请告诉我。

让我们从如何绘制图表开始这个问题y = 2x + 1并转换为 PNG。我不需要图表中有太多细节——标有轴、数字标记和函数。背景网格会是一个加分项。

我还想转换为 PNG 图像。目前,我最接近的方法是文本让我说清楚,我需要图表)在 TeXWorks (Windows)中生成{standalone}PDF,最终我必须使用图像魔术师 convert命令。

\documentclass[preview]{standalone}
\begin{document}
Hello, World!
y = 2x + 1
\end{document}

我选择pdfLaTeX并生成 PDF。我接下来使用 ImageMagick 进行转换:

convert myfile.pdf myimage.png

这个过程确实可行,但很笨重。这些图像将用于 Web 应用程序,那么使用所有这些文件 I/O 动态生成它们真的是最好的方法吗?

tex2png

我试过了tex2png,但它挂在PostScript 文件生成...步。

e:\downloads\tex2png>tex2png "\sum_{i=1}^N{i}=\frac{N(N+1)}{2}" result.png
[>] LaTeX File Generation...
[>] LaTeX File Compilation...
[>] PostScript File Generation...

答案1

这是用于生成图表的。它需要 pdflatex 选项--shell-escape。您可以使用gnuplottexpgfplots(带/不带gnuplot)包进行绘图。

\documentclass[a4paper]{article}
\usepackage[miktex]{gnuplottex}
\usepackage{pgfplots}

\begin{document}
\section{GnuplotTeX}
\begin{gnuplot}[terminal=pdf, terminaloptions={font "Arial"}]
plot 2*x+1
\end{gnuplot}

\section{PGFPLOTS}

\begin{tikzpicture}
\begin{axis}[domain=-10:10, samples=50, smooth, no markers, enlargelimits=false]
\addplot {2*x+1};
\end{axis}
\end{tikzpicture}
\section{PGFPLOTS and GNUPLOT}

\begin{tikzpicture}
\begin{axis}[domain=-10:10, samples=50, smooth, no markers, enlargelimits=false]
\addplot gnuplot {2*x+1};
\end{axis}
\end{tikzpicture}
\end{document}

要生成.png文件,您可以使用standaloneclass with imagemagick。但我更喜欢使用write18facility。

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{my-graph}
%
\documentclass[tikz]{standalone}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel={$x-$ axis label},
ylabel={$y-$ axis label},xtick={-10,-8,-6,-4,-2,0,2,4,6,8,10},ytick={-18,-14,-10,-6,-2,2,6,10,14,18,21},
grid=both,domain=-10:10, samples=50, smooth, no markers, enlargelimits=false]
\addplot {2*x+1};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[xlabel={$x-$ axis label},
ylabel={$y-$ axis label},xtick={-10,-8,-6,-4,-2,0,2,4,6,8,10},ytick={-18,-14,-10,-6,-2,2,6,10,14,18,21},
grid=both,domain=-10:10, samples=50, smooth, no markers, enlargelimits=false]
\addplot gnuplot {2*x+1};
\end{axis}
\end{tikzpicture}
\end{document}
\end{filecontents*}
%
%pdflatexing my-graph
%
\immediate\write18{pdflatex --shell-escape my-graph}
% convert to PNG
\makeatletter
\immediate\write18{convert -density 200 -alpha on my-graph.pdf my-graph-\@percentchar02d.png}
\makeatother
\begin{document}
Check the folder containing this file. you will have \texttt{my-graph-00.png} and \texttt{my-graph-01.png} there.
\end{document}

因为这个image magick应该已经安装了。您将.png在与此主文件相同的文件夹中找到文件。

enter image description here

相关内容