![将点与 csv 文件中列的坐标连接起来](https://linux22.com/image/459275/%E5%B0%86%E7%82%B9%E4%B8%8E%20csv%20%E6%96%87%E4%BB%B6%E4%B8%AD%E5%88%97%E7%9A%84%E5%9D%90%E6%A0%87%E8%BF%9E%E6%8E%A5%E8%B5%B7%E6%9D%A5.png)
我有一个 csv 文件,其中包含四列 x1、y1、x2 和 y2。我需要使用 为表格的每一行绘制连接点 (x1,y1) 和 (x2,y2) 的线段\addplot
。在下面的代码中,file1.csv 包含以下数据:
x1 y1 x2 y2
3,4,1,5
4,2,1,0
3,3,6,5
...
...
我有以下代码和\addplot
需要完成的部分。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx,amsmath,amsfonts}
\usepackage{amsthm,graphicx,tikz,float}
\usepackage{enumerate,array}
\usepackage{pgfplots,color}
\begin{tikzpicture}
\begin{axis}[
title={Segments},
xlabel={X},
ylabel={Y},
xmin=0, xmax=10,
ymin=0, ymax=10,
]
\addplot[] table {file1.csv};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
新年快乐!
看看以下 MWE (最小工作示例) 是否适合您:
\RequirePackage{filecontents}
\begin{filecontents*}{file1.cvs}
x1 y1 x2 y2
3 4 1 5
4 2 1 0
3 3 6 5
\end{filecontents*}
\documentclass[margin=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
grid,
xlabel = {X},
ylabel = {Y},
ymin=0, ymax=5,
enlargelimits = 0.1,
]
\addplot table [x=x1, y=y1] {file1.cvs};
\addplot table [x=x2, y=y2] {file1.cvs};
\end{axis}
\end{tikzpicture}
\end{document}
如您所见,file1.cvs
我添加了 MWE,并从中删除了所有逗号。
编辑:
抱歉,在我第一次尝试帮助您时,我显然误解了您的问题。正如我在评论中指出的那样,按照您喜欢的方式使用您的表格超出了我的知识范围,但是,如果可以像在下一个 MWE 中所做的那样重新组织您的表格,那么您将得到以下结果:
\RequirePackage{filecontents}
\begin{filecontents*}{file1.cvs}
3 4
1 5
4 2
1 0
3 3
6 5
\end{filecontents*}
\documentclass[margin=3mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
grid,
xlabel = {X},
ylabel = {Y},
ymin=0, ymax=5,
enlargelimits = 0.1,
]
\addplot table {file1.cvs};
\end{axis}
\end{tikzpicture}
\end{document}