
pgfplots
外部ファイルから取得したグラフの標準フォーマット(および受け入れられるファイルタイプ(例:txt
) )と、そのファイルからデータを取得するために にdat
何を入力すればよいかを知っている人はいますか?\addplot
ご協力いただきありがとうございます。
答え1
サポートされているのはプレーンテキスト ファイルだけだと思いますが、ファイル拡張子は
.txt
、、、、、.dat
など何でも好きなものにできます。.csv
.montypython
標準形式は空白で区切られた列です。つまり、デフォルトで期待される列区切り文字は空白です (マニュアルを引用すると、「少なくとも 1 つのタブまたはスペース」)。ただし、キーを使用して異なる区切り文字を指定することもできます。
col sep
これには、次の異なるオプションがあります。col sep=space|tab|comma|colon|semicolon|braces|&|ampersand
次のようなテキストファイルがあったとします
x y 1 1 2 3
そうすれば
\addplot table {<filename including extension>};
すると、y 対 x のプロットが表示されます。
pgfplots
特に指示がない限り、最初の列を x 値に、2 番目の列を y 値に使用します。カンマ区切りのファイルの場合、つまり
x,y 1,1 2,3
ならばこう言う必要がある
\addplot table[col sep=comma] {<filename including extension>};
列が 2 つ以上ある場合は、、または
x=<column name>, y=<column name>
を使用して、x と y に使用する列を選択します。(もちろん、必要に応じて、x index=<number>, y index=<number>
に という名前、に という名前を使用することもできます。) たとえば、x
index
y
\addplot table[x=x, y=y] {<filename including extension>};
上記の最初のサンプルファイルでは、列見出しは実際には
x
と ですy
。最初の行に数字だけが含まれている場合、
pgfplots
ファイルにヘッダー行がないものと見なし、列名として読み取られません。- は
<column name>
最初の行に書かれたテキストなので、x
上記の例では と y` です。 - は
<number>
列番号ですが、カウントはゼロから始まることに注意してください。したがって、 の最初の列を取得するには、x
を実行しますx index=0
。
- は
興味があれば、サンプルコードを以下に示します。
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{filecontents}
\begin{filecontents}{A.dat}
0 0
1 1
2 2
\end{filecontents}
\begin{filecontents}{B.csv}
0,1
1,2
2,3
\end{filecontents}
\begin{filecontents}{C.montypython}
foo bar baz
0 2 3
1 3 4
2 4 5
\end{filecontents}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot table {A.dat};
\addplot table[col sep=comma] {B.csv};
\addplot table[x=foo, y=bar] {C.montypython};
\addplot table[x index=0, y index=2] {C.montypython};
\legend{A,B,C1,C2}
\end{axis}
\end{tikzpicture}
\end{document}