2016-11-29 3 views
1

Я создал скрипт для рисования некоторых строк с использованием gnuplot. Мой сценарий приведен ниже:рисование нескольких строк с использованием скрипта в gnuplot

#!/usr/local/bin/gnuplot 
reset 
set terminal wxt 
set yrange [0:100] 
set xrange [0:100] 
unset colorbox 
set style arrow 1 nohead lc rgb 'black' 
set style arrow 2 nohead lc rgb 'red' 
set arrow 1 from 1,10 to 2,10 nohead 
plot [0:15][0:22]-0.2*x+7.8 
set arrow 1 from 2,15 to 3,15 nohead 
plot [0:15][0:22]-0.2*x+12.8 
set arrow 1 from 3,20 to 4,20 nohead 
plot [0:15][0:22]-0.2*x+17.8 

Я хочу сделать все три линии, но когда я запускаю его, я получаю только одну строку в качестве вывода. В скрипте что-то не так?

ответ

1

Вам необходимо оформить только одну plot команду:

#!/usr/local/bin/gnuplot 
reset 
set terminal wxt 
set yrange [0:100] 
set xrange [0:100] 

set style arrow 1 nohead lc rgb 'black' 
set style arrow 2 nohead lc rgb 'red' 
set arrow 1 from 1,10 to 2,10 nohead 
set arrow 2 from 2,15 to 3,15 nohead 
set arrow 3 from 3,20 to 4,20 nohead 
plot [0:15][0:22] -0.2*x+7.8, \ 
    -0.2*x+12.8, \ 
    -0.2*x+17.8 
+0

это можно сделать эти четыре точки (1, 5), (2,10), (3, 15), (4, 20) в приведенном выше сценарии перед рисованием линий? как я это сделаю? @kebs – user5411115

+0

На самом деле это отдельный вопрос, вы можете посмотреть [здесь] (http://stackoverflow.com/questions/19452516/). Но ваш первоначальный вопрос был дан ответ, поэтому вы можете принять один из ответов. – kebs

0

Различные стрелки должны иметь разные показатели. Поэтому используйте set arrow 1 ..., set arrow 2 ... и set arrow 3 ... вместо трехкратного указания set arrow 1 ....

Несколько моментов в вашем скрипте:

  • стили, определенные set style arrow назначены на стрелку с arrowstyle ключевого слова.

Таким образом, можно использовать это:

set style arrow 1 nohead lc rgb 'black' 
set style arrow 2 nohead lc rgb 'red' 
set style arrow 3 nohead lc rgb 'green' 

set arrow 1 from 1,10 to 2,10 arrowstyle 1 
set arrow 2 from 2,15 to 3,15 arrowstyle 2 
set arrow 3 from 3,20 to 4,20 arrowstyle 3 

plot [0:15][0:22]-0.2*x+7.8 ,\ 
       -0.2*x+12.8 ,\ 
       -0.2*x+17.8 

или это:

set arrow 1 from 1,10 to 2,10 nohead lc rgb 'black' 
set arrow 2 from 2,15 to 3,15 nohead lc rgb 'red' 
set arrow 3 from 3,20 to 4,20 nohead lc rgb 'green' 

plot [0:15][0:22]-0.2*x+7.8 ,\ 
       -0.2*x+12.8 ,\ 
       -0.2*x+17.8 
  • Команда set xrange [0:100] переписывается [0:15] в вашей команде plot. То же самое для yrange.
  • Одной команды участка достаточно.
  • colorbox необходим только на участках pm3d
Смежные вопросы