Поместить значок в строку в первом случае значения? - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть скрипт gnuplot, как показано ниже:

#!/usr/bin/gnuplot -persist

set terminal x11
line = "./test.csv"
plot line using 1 with lines linecolor 1 linewidth 3 title "Line"

И мой test.csv файл:

0.92
0.74
0.65
0.59
0.48
0.46
0.24
0.11
0.09
0.05
0.03
0.01

Это создает график, подобный так:

enter image description here

Я хочу увидеть точку, где линия опустилась ниже 0.1. Есть ли способ отметить это положение каким-либо значком на линии или, возможно, вертикальной пунктирной линией. Примерно так:

enter image description here

Для этого, где x=9, это первый раз y<0.1, поэтому он был отмечен, чтобы проиллюстрировать этот пример .

Есть ли в gnuplot что-то, что может это сделать? Я знаю, что со стилями линий я могу представить свою линию в виде символов, таких как звезда или +; Я бы хотел, чтобы один из них был указан в c пункте.

1 Ответ

1 голос
/ 23 апреля 2020

Версия в один раунд с pointsize variable:

$line <<EOD
0.92
0.74
0.65
0.59
0.48
0.46
0.24
0.11
0.09
0.05
0.03
0.01
EOD

hit=0; plot $line using 0:1:(hit=hit+($1<0.1), hit==1?3:0) with lp ps var pt 7 lw 3 title "Line"

Чтобы получить планку, можно использовать второй errorbar график.

hit=0; plot $line using 1 w l lw 3 title "Line",\
           "" using 0:(hit=hit+($1<0.1), $1/(hit==1)):(0):(1) w e  lc 1 pt 7 ps 3 title ""

...