Перейти до вмісту

Точкові діаграми з pgfplots

Додайте only marks до \addplot в axis пакета pgfplots, щоб точки малювалися без ліній; виберіть форму через mark= і прочитайте точки з координат або з таблиці.

Точки без ліній

Точкова діаграма є рядом, намальованим лише маркерами. Додайте only marks до \addplot, із +, щоб зберегти колір і маркер із циклічного списку.

Дві групи точок

LaTeXПреамбула: \usepackage{pgfplots}Відкрити в редакторі (відкриється в новій вкладці)
\begin{tikzpicture}
  \begin{axis}[xlabel={Height (m)}, ylabel={Mass (kg)}, legend pos=north west]
    \addplot+[only marks] coordinates {
      (1.62,55) (1.68,61) (1.71,66) (1.75,69) (1.80,74) (1.84,79)};
    \addplot+[only marks] coordinates {
      (1.58,49) (1.64,57) (1.69,58) (1.73,64) (1.77,68)};
    \legend{Group A, Group B}
  \end{axis}
\end{tikzpicture}
Зверстано в Scissor LaTeX: Дві групи точок

Форми, розміри й кольори маркерів

mark= задає форму, а mark size= її радіус (за замовчуванням 2pt). Назви заповнених форм закінчуються на *. mark options задає стиль лише маркерів, наприклад порожній маркер із білою заливкою.

Різні маркери для різних рядів

LaTeXПреамбула: \usepackage{pgfplots}Відкрити в редакторі (відкриється в новій вкладці)
\begin{tikzpicture}
  \begin{axis}[enlargelimits=0.15, legend pos=outer north east]
    \addplot[only marks, mark=o, blue] coordinates {(1,2) (2,3) (3,2.5)};
    \addplot[only marks, mark=square*, red, mark size=3pt] coordinates {(1,1) (2,1.8) (3,1.2)};
    \addplot[only marks, mark=triangle*, teal, mark options={fill=white}] coordinates {(1,3) (2,4) (3,3.8)};
    \addplot[only marks, mark=x, black, mark size=4pt] coordinates {(1.5,0.5) (2.5,0.8)};
    \legend{circle, square, triangle, cross}
  \end{axis}
\end{tikzpicture}

Форми, які працюють, перелічено на сторінці лінійних графіків.

Точки з таблиці

Якщо точок більше, ніж кілька, запишіть їх як таблицю. Перший рядок дає назви стовпцям; x= і y= вибирають стовпці для графіка. Таблиця може стояти прямо в коді, як тут, або у файлі (див. дані з файлу CSV).

Точки з вбудованої таблиці

LaTeXПреамбула: \usepackage{pgfplots}Відкрити в редакторі (відкриється в новій вкладці)
\begin{tikzpicture}
  \begin{axis}[xlabel={Hours studied}, ylabel={Points}]
    \addplot[only marks, mark=*, blue!70!black] table[x=hours, y=points] {
      hours points
      2     21
      3     26
      4     30
      5     29
      6     37
      7     40
      8     44
    };
    \addplot[red, domain=2:8] {13.5 + 3.8*x};
  \end{axis}
\end{tikzpicture}

Червона лінія є формулою, намальованою поверх точок, простим способом показати підібраний тренд.

Забарвлення точок за значенням

З scatter кожна точка отримує колір із колірної карти відповідно до значення. point meta=y використовує значення y; scatter src=explicit разом із meta= читає третій стовпець. Додайте colorbar, щоб показати шкалу.

Точки, забарвлені за третім стовпцем

LaTeXПреамбула: \usepackage{pgfplots}Відкрити в редакторі (відкриється в новій вкладці)
\begin{tikzpicture}
  \begin{axis}[colorbar, colormap/viridis, xlabel=$x$, ylabel=$y$]
    \addplot[scatter, only marks, mark size=3pt, scatter src=explicit]
      table[x=x, y=y, meta=t] {
      x   y   t
      0.5 1.0 10
      1.0 2.2 15
      1.6 1.4 21
      2.1 3.0 28
      2.8 2.1 33
      3.3 3.6 44
    };
  \end{axis}
\end{tikzpicture}

Класи точок

У pgfplots scatter/classes дає кожній назві класу в стовпці власний маркер. Scissor LaTeX поки цього не підтримує: параметр ігнорується з повідомленням, і кожна точка отримує однаковий маркер.

scatter/classes: один маркер для всіх точок

LaTeXПреамбула: \usepackage{pgfplots}Відкрити в редакторі (відкриється в новій вкладці)
\begin{tikzpicture}
  \begin{axis}[width=6cm, height=5cm]
    \addplot[scatter, only marks, scatter src=explicit symbolic,
             scatter/classes={a={mark=square*, blue}, b={mark=*, red}}]
      table[meta=group] {
      x y group
      1 1 a
      2 2 b
      3 1.5 a
    };
  \end{axis}
\end{tikzpicture}

Вкладка «Проблеми»: pgfplots option 'scatter/classes' is not supported yet

Чим це відрізняється від установленого TeX

Повний опис маркерів і параметрів scatter є в посібнику pgfplots: ctan.org/pkg/pgfplots.

Запитання й відповіді

Як створити точкову діаграму без ліній?

Додайте only marks до параметрів \addplot, наприклад \addplot+[only marks] coordinates {...};.

Як змінити розмір точок?

Задайте mark size=3pt для \addplot. Значення є радіусом маркера.

Чи можна будувати точки з файлу CSV?

Так. Завантажте файл у проєкт і напишіть \addplot+[only marks] table[x=a, y=b, col sep=comma] {file.csv};.

Кожен приклад на цій сторінці верстається в Scissor LaTeX під час збирання сайту. Оновлено 2026-11-07.