PGFPlots は、エラーバー付きのグループ化された棒グラフで、上に追加の情報を提供します。ポイントをコンマで囲んだ文字列に変換して表示します。

PGFPlots は、エラーバー付きのグループ化された棒グラフで、上に追加の情報を提供します。ポイントをコンマで囲んだ文字列に変換して表示します。

上部の軸 (主グリッドの上の数字) で小数点区切りとしてコンマを使用するにはどうすればよいでしょうか?

グラフを改善するためのあらゆる提案を歓迎します。

基本要件

  • (長い)浮動小数点数とエラーを含む .csv データを使用する
  • グループ化されたペアで情報を表示(同じテストボディで異なるクランプ設定)
  • エラー情報(かなり大きい場合もあります)
  • 各バーの値を表示するのではなく、各グループの平均を表示します

試してみたところ、小数点区切りが点平均プロットになるという問題がありました。(また、マークやその他のものを表示したくありません。ラベルは黒で印刷する必要があります)

基本的なセットアップはパッケージ PGFSPLOTS のマニュアル第8.6章551ページ。

私が試したこと

私は CSV を変更したくありません (区切り文字としてセミコロンを使用し、小数点区切りにコンマを使用)。私は sinuitx を使用しています。これをメタ情報に適用するオプションがあれば、試してみる価値があるかもしれません。.csv 内のラベル データを {} で囲むことも試しましたが、役に立ちませんでした。

グループ化されたバー文字

LaTeXコード:

% !TeX encoding = UTF-8
\documentclass[11pt, border=5pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usepackage{pgfplotstable}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
            /pgf/number format/.cd,
                use comma,
            height = 7cm,
            width = 8.5cm,
            ymajorgrids,
            ylabel={The mighty Force in \si{\newton}},
            xlabel={A strong Opponent},
            ymin = 0,
            ymax= 1.75,
            ybar=0pt,
            bar width=12pt,
            enlarge x limits = 0.3,
            nodes near coords,
            point meta=explicit symbolic,
            scatter/position=absolute,
            every node near coord/.style={
                    at={(\pgfkeysvalueof{/data point/x},1.8)},
                    anchor=south,
                },
            bar shift=0pt,
            xtick={0,1,2},
            xticklabels={metal,wood,paper},
            x tick label style={rotate=45,anchor=east},
        ]
        \addplot+[bar shift = -12pt]
        plot [error bars/.cd, y dir=both, y explicit]
        table [x=ID, y=A, y error=Aun, col sep=comma] {data.csv};
        \addplot+[bar shift = +12pt]
        plot [error bars/.cd, y dir=both, y explicit]
        table [x=ID, y=B, y error=Bun, col sep=comma] {data.csv}; % Läd die Daten aus der CSV Datei
        \addplot
        plot [error bars/.cd, y dir=both, y explicit]
        table [x=ID, y=C, y error=Cun, col sep=comma] {data.csv}; % Läd die Daten aus der CSV Datei
        \addplot[only marks]
        plot table [x=ID, col sep=comma, meta=label] {data.csv}; % Läd die Daten aus der CSV Datei
    \end{axis}
\end{tikzpicture}
\end{document}

data.csv の内容:

ID,A,Aun,B,Bun,C,Cun,label
0,0.2,0.05,0.3,0.025,0.1,0.03,0.2
1,0.6,0.05,0.4,0.07,0.8,0.045,0.6
2,1.1,0.1,1.3,0.02,1.5,0.06,1.3

答え1

私はさまざまなことを試しましたが、複数の間違いを犯しました。解決策に加えて、次の2つが重要です。

  • インデックスとメタのみを含むファイルを使用しないでください。
  • \pgfplotstabletypesetでは使用しないでくださいtikzpictureこちらをご覧ください

私の問題に対する簡単な解決策は、ファイル形式を次のように変更することです。スペースで区切られた以上です。オプションは、explicit symbolic"新しい" .dat ファイルを正しく読み取るための残りの処理をすでに行っています...

適切なメタラベル付きの棒グラフ

関連情報