Bagaimana cara menggunakan gnuplot untuk memplot panah vektor 2d sederhana?

Ini adalah pertama kalinya saya mencoba menggunakan gnuplot, dan saya tidak dapat menemukan petunjuk apa pun tentang cara melakukannya. Yang paling dekat yang saya temukan adalah ini:

http://gnuplot.sourceforge.net/docs_4.2/node259.html

plot 'file.dat' menggunakan 1:2:3:4 dengan kepala vektor terisi lt 2

tetapi saya tidak dapat menemukan penjelasan apa pun tentang "file.dat".

Jadi adakah yang bisa memberikan contoh sederhana cara menggambar panah vektor 2d sederhana? Terima kasih.


person Mirrana    schedule 14.05.2013    source sumber


Jawaban (2)


gnuplot memiliki bantuan/dokumentasi yang sangat bagus. Cukup ketik help plot atau help vector untuk mempelajari lebih lanjut tentang cara memplot vektor di gnuplot.

Gaya 2D vectors menggambar vektor dari (x,y) hingga (x+xdelta,y+ydelta).

Sebuah panah kecil digambar pada akhir setiap vektor.

4 kolom: x y xdelta ydelta

Artinya, file masukan Anda harus memiliki 4 kolom, dengan dua kolom pertama menentukan posisi awal (x,y) vektor/panah dan dua kolom terakhir menentukan arahnya (x,y):

# file.dat
0   0   .5  .5
0   1   -.5 .5
1   1   1    0

Sekarang ketikkan perintah berikut

plot "file.dat" using 1:2:3:4 with vectors filled head lw 3

memberikan output berikut: Memplot vektor

Menggambar vektor dengan perintah set arrow

Pertimbangkan untuk menggunakan perintah set arrow, jika Anda hanya perlu menggambar beberapa vektor/panah (misalnya untuk menyorot beberapa titik dalam plot).

  set arrow 1 from pi/2,1 to pi/2,0 
  set arrow 2 from pi*3/2,-1 to pi*3/2,0 
  plot[0:2*pi] sin(x)

setel contoh panah

person psibar    schedule 14.05.2013

Anda dapat membuat 'file.dat' di spreadsheet, menyimpannya sebagai teks dan meletakkannya di jalur gnuplot dengan menggunakan perintah cd untuk mengarahkan gnuplot ke lokasinya. Jika Anda tidak setuju, lihat contoh menggunakan '+' dan '++' dan '-' di manual gnuplot. Ini adalah "file data virtual". Perhatikan bahwa dua yang pertama adalah untuk titik data satu dan dua kolom yaitu (x) atau (x,y). Anda harus menggunakan $1 dan $2 sebagai variabel untuk menghitung dx dan dy. Wajib untuk mengatur variabel xrange dan yrange serta isosamples agar dapat berfungsi.

Sesuatu seperti....

set isosamples 30
set samples 30
set xrange [-10:10]
set yrange [-10:10]
plot '++' using 1:2:(0.1*sin($1)):(0.1*cos($2)) with vectors 
person userRoom237    schedule 23.05.2013