![使用 \datavisualization 在 TikZ 中仅使用 csv 文件的一个范围](https://linux22.com/image/341383/%E4%BD%BF%E7%94%A8%20%5Cdatavisualization%20%E5%9C%A8%20TikZ%20%E4%B8%AD%E4%BB%85%E4%BD%BF%E7%94%A8%20csv%20%E6%96%87%E4%BB%B6%E7%9A%84%E4%B8%80%E4%B8%AA%E8%8C%83%E5%9B%B4.png)
我想在 TikZ 中创建数据可视化。我使用以下代码:
\documentclass{standalone}
\usepackage{filecontents}
\usepackage{tikz}
\usetikzlibrary{datavisualization}
\begin{filecontents}{test.csv}
x y
-3 5
-2 7
-1 2
0 5
1 4
2 8
3 3
\end{filecontents}
\begin{document}
\begin{tikzpicture}
\datavisualization
[
scientific axes,
all axes={length=5cm},
x axis={label=x, attribute=x, min value=-2, max value=2},
y axis={label=y, attribute=y, min value=0, max value=10},
visualize as line,
]
data[read from file=test.csv, separator={\space}];
\end{tikzpicture}
\end{document}
如何实现仅使用 csv 文件的某个范围(在本例中为 [-2, 2])?这会导致绘图错误,并且在使用大型 csv 文件时加载不必要的线条会很耗时。
答案1
您可以使用pgfplots
:
\documentclass{standalone}
\usepackage{filecontents}
\usepackage{pgfplots}
\begin{filecontents}{test.csv}
x y
-3 5
-2 7
-1 2
0 5
1 4
2 8
3 3
\end{filecontents}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel=x,ylabel=y,height=5cm,width=5cm,
xmax=2,xmin=-2]
\addplot[no markers] table[x=x,y=y] {test.csv};
\end{axis}
\end{tikzpicture}
\end{document}