在 Latex 中绘制坐标的最佳方法是什么?

在 Latex 中绘制坐标的最佳方法是什么?

我需要在图形中绘制一些点;只是一个简单的 x 和 y 值列表,然后用线段连接它们。目前,我在 excel 中绘制图形并将图像导入 latex,但效果不太好。有没有办法只使用 latex 绘制坐标?

答案1

可以使用data命令直接输入数据点datavisualization。如果您有函数而不是数据点,则同样适用。以下是改编自 Ti 的一些示例Z-PGF手册:

\documentclass[border=2mm,tikz]{standalone}
\usetikzlibrary{datavisualization}
\begin{document}

\begin{tikzpicture}
\datavisualization [school book axes, visualize as smooth line]
    data {
       x, y
    -1.5, 2.25
      -1, 1
     -.5, .25
       0, 0
      .5, .25
       1, 1
     1.5, 2.25
    };
\end{tikzpicture}

\end{document}

在此处输入图片描述

例如,将轴样式更改为科学样式可以呈现不同的外观:

\datavisualization [scientific axes, all axes={grid}, visualize as smooth line]

在此处输入图片描述

另外,如果你手头有这个功能,这会很容易:

\documentclass[border=2mm,tikz]{standalone}
\usetikzlibrary{datavisualization.formats.functions}
\begin{document}

\begin{tikzpicture}
  \datavisualization [school book axes, visualize as smooth line]
    data [format=function] {
      var x : interval [-1.5:1.5] samples 7;
      func y = \value x*\value x;
    };
\end{tikzpicture}

\end{document}

与数据点输入的结果相同:

在此处输入图片描述

答案2

下面是使用的示例pgfplots。数据也可以从csv文件中读取,也可以使用公式计算。

在此处输入图片描述

\documentclass[border=2mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
  \begin{axis}
    \addplot coordinates {
      (1,  1)
      (2,  4)
      (3,  9)
      (4, 16)
      (5, 25)
    };
  \end{axis}
\end{tikzpicture}
\end{document}

答案3

PSTricks这里有一个用 而不是创建的一个小例子TikZ。我仍然不明白为什么许多用户已经放弃了用 构建图形的机会PSTricks

在此处输入图片描述

\documentclass[pstricks,border=12pt,12pt]{standalone}
\usepackage{pst-plot}
\usepackage{pst-eucl}

\psset{algebraic,arrows=->}
\def\f{x^2}

\begin{document}
\begin{pspicture}(-5,-3)(5,5)
    \psaxes[linewidth=.5pt,linecolor=darkgray](0,0)(-4,-1)(3,4)[$x$,0][$y$,90]
    \psplot[linecolor=magenta]{-5}{5}{\f}
    \pstGeonode[PosAngle=-30,PointNameSep=15pt,PointName={{\scriptstyle(0,.5)},{\scriptstyle(1,f(2))}}]
            (0,0.5){F}(*1 {\f(x)}){A}
    \end{pspicture}
\end{document}

答案4

如果你对 R 有所了解,knitr 是一个不错的选择:

姆韦

\documentclass{article}
\begin{document}
<<echo=F, fig.cap="One simple plot.", dev='tikz'>>=
df <- data.frame(x = c(1,2,3,4,5,6,7), y= c(1,2,4,8,16,32,64))
plot(df, pch=16, col="red")
lines(df$x,df$y, col="red", lwd=3)
@
\end{document}

相关内容