Scissor LaTeX 中的 pgfplots
pgfplots 套件在 Scissor LaTeX 中可用於大多數 2D 圖表,由它自己的繪圖器繪製:座標軸、折線圖、散布圖和長條圖、公式、表格和 CSV 檔案、對數軸、誤差線、圖例、groupplots、fill between,以及從上方觀看的熱圖;3D 視角、axis equal 和 pgfplotstable 的表格目前還不支援。
套件的用途
pgfplots 在 TikZ 圖中根據資料或公式繪製圖表。你開啟 \begin{tikzpicture}\begin{axis}[...],每個數列加一個 \addplot,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 的長條圖
\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}從寫在文件中的表格讀取兩個數列,並加上圖例:
行內表格的欄
\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 視角不會繪製
\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 圖表看起來和在那裡一樣,誤差在一兩點以內。真正的 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