本文へ移動

Scissor LaTeX での pgfplots

Scissor LaTeX では、ほとんどの 2D グラフについて pgfplots パッケージが動作し、独自のレンダラーで描画されます。軸、折れ線グラフ、散布図、棒グラフ、数式、表と CSV ファイル、対数軸、誤差棒、凡例、groupplots、fill between、真上から見たヒートマップに対応しています。3D 表示、axis equal、pgfplotstable の表はまだ非対応です。

パッケージの役割

pgfplots は TikZ の図の中で、データや数式からグラフを描きます。\begin{tikzpicture}\begin{axis}[...] を開き、系列ごとに \addplot を 1 つずつ追加すると、pgfplots が目盛り、凡例、色を選びます。オプションで対数軸、棒グラフ、誤差棒、カラーマップなど、さまざまなことができます。

Scissor LaTeX は pgfplots を実行しません。組版エンジンが同じコードを読み取り、グラフをベクターグラフィックスとして自分で描画し、ラベルには文書のフォントを使います。結果は pgfplots のデフォルトにほぼ忠実で、ソースは TeX のインストール環境でもそのままコンパイルできます。

ここで動作するもの

機能Scissor LaTeX では詳細
ラベル、タイトル、凡例、グリッド、目盛り、範囲付きの axis動作するpgfplots の基本
線、マーカー、色、cycle list、smooth、const plot動作する折れ線グラフ
only marks、散布図動作する散布図
ybar、xbar、積み上げ棒、nodes near coords、symbolic x coords動作する棒グラフ
error bars/.cd、y explicit、+- (x, y)動作する誤差棒
semilogyaxis、loglogaxis、xmode=log動作する対数軸
group style 付きの groupplot(groupplots ライブラリ)動作するグループプロット
インラインの行やプロジェクト内の .csv/.dat ファイルからの \addplot table動作するCSV からのデータ
view={0}{90} を指定した \addplot3:surf、matrix plot、contour filled、colorbar動作する等高線とヒートマップ
fill between(fillbetween ライブラリ)、name path動作する
\pgfplotsset{...}、スタイル、compat=動作する設定にかかわらず compat=1.18 と同じように動作します。
ほかの view を指定した \addplot3(本当の 3D)非対応空の軸が描かれ、メッセージが出ます。
axis equal非対応メッセージを出して無視され、軸はそれぞれの縮尺のままです。
\pgfplotstabletypeset(pgfplotstable)非対応メッセージを出してスキップされ、ファイル名が出力されます。
認識できないオプション無視されるオプション名を示すメッセージを出して無視され、残りは描画されます。

例

値のラベル付きの棒グラフです。

nodes near coords 付きの棒グラフ

LaTeXプリアンブル: \usepackage{pgfplots}エディタで開く (新しいタブで開きます)
\begin{tikzpicture}
  \begin{axis}[ybar, bar width=12pt, ymin=0, ymax=52,
      symbolic x coords={Mon,Tue,Wed,Thu}, xtick=data,
      nodes near coords, enlarge x limits=0.2,
      ylabel={Visitors}, width=7cm, height=5cm]
    \addplot coordinates {(Mon,31) (Tue,44) (Wed,38) (Thu,27)};
  \end{axis}
\end{tikzpicture}

文書の中に書いた表から読み込んだ 2 つの系列と凡例です。

インラインの表の列

LaTeXプリアンブル: \usepackage{pgfplots}エディタで開く (新しいタブで開きます)
\begin{tikzpicture}
  \begin{axis}[xlabel={Week}, ylabel={Hours of practice},
      legend pos=north west, width=7cm, height=5cm]
    \addplot table [x=week, y=erika] {
      week erika john
      1    4     2
      2    6     3
      3    5     5
      4    8     6
    };
    \addlegendentry{Erika}
    \addplot table [x=week, y=john] {
      week erika john
      1    4     2
      2    6     3
      3    5     5
      4    8     6
    };
    \addlegendentry{John}
  \end{axis}
\end{tikzpicture}

斜めから見た曲面はまだ描画されません。軸は空で表示され、「問題」タブに理由が表示されます。

3D 表示は描画されない

LaTeXプリアンブル: \usepackage{pgfplots}エディタで開く (新しいタブで開きます)
\begin{tikzpicture}
  \begin{axis}[view={60}{30}, width=6cm]
    \addplot3[surf, domain=-2:2] {x^2 - y^2};
  \end{axis}
\end{tikzpicture}

「問題」タブ: 3D plots are drawn only when seen from above (view={0}{90}) for now

互換性

  • TeX のインストール環境からここへ: ほとんどの 2D グラフは、1〜2 ポイントの差の範囲でそこと同じ見た目になります。本当の 3D グラフ、axis equal、対応範囲外のオプションは「問題」タブに表示されます。
  • ここから TeX のインストール環境へ: グラフは pgfplots でそのまま変更なしでコンパイルできます。contour lua と contour gnuplot にはそこで LuaLaTeX や gnuplot が必要ですが、contour filled にはどちらも不要です。

完全なマニュアルは CTAN にあります:ctan.org/pkg/pgfplots。軸のない図については TikZ をご覧ください。

よくある質問

ここで pgfplots を使うにはインストールが必要ですか?

いいえ。通常どおり \usepackage{pgfplots} と書いてください。Scissor LaTeX がコードを認識し、ブラウザの中でグラフを描画します。

3D グラフが空になるのはなぜですか?

今のところ、真上から見たグラフ(view={0}{90})だけが描画されます。ほかの視点では空の軸になり、「問題」タブにメッセージが出ます。

CSV ファイルのデータをグラフにできますか?

はい。ファイルをプロジェクトに追加し、\addplot table[x=a, y=b, col sep=comma] {file.csv}; と書いてください。

このページの例はすべて、サイトのビルド時に Scissor LaTeX で組版されています。 最終更新:2026-11-07