Если вы хотите использовать встроенные типы точек, то, как правило, (в зависимости от терминала) с кружком и пустой круг. Выдача команды test
покажет вам, что доступно. Например, с WXT терминала, я вижу
, который показывает мне, что я могу получить заполненный круг с точкой типа 7 и пустой с точки 6 типа (мы не беспокоиться о различных цвета, поскольку они унаследованы от типа линии).
Теперь простой способ получить наш желаемый сюжет - это просто указать plot datafile with points pt 6
или тип точки 7. Это сложнее, если вам нужно, чтобы оно зависело от ваших данных.
Предположим, что мои данные выглядит следующим образом:
1 3 0
5 8 1
2 6 0
3 2 1
Первые два столбца являются координатами х и у, а третий говорит мне, если я должен использовать пустую точку (0) или заполненную точку (1). К сожалению, gnuplot не поддерживает команду типа переменной точки (что-то вроде plot datafile u 1:2:($3+6) with linespoints pt var
), и это именно то, что нам нужно здесь.
Для составления наших данных мы сделаем два прохода. Первый будет отображать линии и пустые круги (для всех точек), а второй будет отображать заполненные круги (только для точек, которые должны быть заполнены - перезапись пустых кругов).
plot datafile u 1:2 with linespoints pt 6, \
datafile u 1:($3==1?$2:1/0) with points pt 7 lt 1
Эта команда сначала построит линии и пустые круги. Затем он заполняет заполненные круги только тогда, когда они необходимы. Для этого он вычисляет условную y-координату. Если третий столбец равен 1, он использует второй столбец в качестве y-координаты. Если нет, используется недопустимое значение 1/0
, что приводит к тому, что gnuplot пропускает точку. Чтобы сохранить цвета и все остальное одинаковыми, мы используем lt 1 (который использовался по умолчанию в первом сегменте команды графика).
Примечание: я поставил в запросе признака для pointtype variable
варианта, и похоже, что он может работать свой путь в будущую версию. Имеется предварительный патч, который реализуется под номером feature request 437.
Обновлено Примечание: Опция pointtype variable
в настоящее время доступна в версии для разработки gnuplot.
Да, вы можете нарисовать круги или предопределенные пустые точки и т. Д. То, что лучше всего работает, зависит также от того, как структурированы ваши данные. Можете ли вы привести пример того, как структурированы ваши данные и как определяются ваши фиксированные точки? – Christoph