2010-12-16 19 views
27

E.g. jeśli mam wykres i chcę dodać pionowe linie co 10 jednostek wzdłuż osi X.Jak narysować pionową linię w gnuplot?

+0

możliwe duplikat [Gnuplot: Linie pionowe na określonych pozycjach] (http://stackoverflow.com/ pytania/4499998/gnuplot-vertical-lines-at-specific-pozycje) –

Odpowiedz

34

Oto urywek z mojego skrypt Perla, aby to zrobić:

print OUTPUT "set arrow from $x1,$y1 to $x1,$y2 nohead lc rgb \'red\'\n"; 

Jak można się domyślać z góry, to faktycznie rysowane jako „bez głowy” strzałką.

+7

Dzięki! Tylko dla korzyści całkowitej n00b i bycia pedantycznym, kompletny przykład narysowania pionowej linii przy x = 1 rozciągającej się od y = 0 do y = 100, byłby po prostu: ustawioną strzałką od 1,0 do 1100 nohe lc rgb "czerwony" – JJC

+0

Zgoda ....... :) – Throwback1986

11

alternatywnie można też to zrobić:

p '< echo "x y"' w impulse 

x i y są współrzędnymi punktu, do którego można narysować pionowy pasek

+0

To wydaje się być czystszym sposobem robienia tego. Jeśli chcesz narysować wiele pionowych linii, możesz również użyć pliku '' -'' dummy – hertzsprung

+0

Nie działa tutaj. – KcFnMi

+0

Daje to 'ostrzeżenie: Pomijanie pliku danych bez poprawnych punktów x zakres jest niepoprawny'. Nie wiem, dlaczego. –

9

Można użyć funkcji grid dla drugiego niewykorzystanej osi x2 , który jest najbardziej naturalnym sposobem rysowania zestawu regularnych, rozmieszczonych linii.

set grid x2tics 
set x2tics 10 format "" scale 0 

Generalnie siatka rysowana jest w tej samej pozycji, co tiki na osi. W przypadku, gdy pozycja linii nie odpowiada położeniu tików, gnuplot zapewnia dodatkowy zestaw tików o nazwie x2tics. format "" i scale 0 ukrywa x2tics, więc widzisz tylko linie siatki.

Możesz ułożyć linie tak, jak zwykle: linewith, linecolor.

+0

Uwaga dodatkowa: jeśli używasz x2tics do kontrolowania siatki, musisz upewnić się, że x2axis ma takie same wartości jak xaxis. Nie jest gwarantowane, jeśli używasz automatycznego skalowania. Naprawiono za pomocą jawnie ustawionego x2range [x: y]. – Ben

16

Z dokumentacji Gnuplot. Narysować linii pionowej z dołu do góry na wykresie w punkcie x = 3, zastosowanie:

set arrow from 3, graph 0 to 3, graph 1 nohead

+1

Link do dokumentu: http://gnuplot.sourceforge.net/docs_4.2/node156.html –

Powiązane problemy