pgfplots 外部ファイルのフォーマット

pgfplots 外部ファイルのフォーマット

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>に という名前、に という名前を使用することもできます。) たとえば、xindexy

    \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}

上記コードの出力

関連情報