warna garis kontur gnuplot: tetapkan garis gaya dan set linetype tidak berfungsi

Gnuplot Contour Line Color



Penyelesaian:

Inilah cara anda boleh mengubah sifat garis garis kontur. Saya tidak dapat menerangkan mengapa begitu, saya baru dapat mengetahuinya. Malangnya, tidak ada dokumentasi mengenai butiran ini.

Kelakuannya adalah seperti berikut (diuji dengan 4.6.3. Dan 4.7 (2013-07-25 dan 2013-09-09), semuanya menunjukkan tingkah laku yang sama):



Tetapan lalai

  1. Jika tidaklinetype ditentukan untuksplot, permukaan itu sendiri akan digunakan1. Dalam kes itu, kontur pertama dilukis dengan3. Ya, penomborannya mundur berbanding kenaikan yang ditentukan. Tetapi anda boleh membalikkannya dengan menggunakantetapkan kenaikan tahap cntrparam -6, -6, -18 atautetapkan kenaikan tahap cntrparam -18,6, -6



  2. Thegaris tengah semua kontur adalah sama dan juga sama denganlinewidth digunakan untuk arahan ploting, untuk mengubahnya gunakan mis.splot 'new_test.dat' lw 3.



Hasilnya (tanpa garis yang lebih tebal) adalah seperti yang ditunjukkan dalam soalan.

Menggunakan linestyles

  1. Kontur menggunakangaya linen dengan indeks dengan satu yang lebih tinggi daripada yang digunakan oleh arahan plotting.

  2. Anda juga mesti menentukan yang pertamagaya linen, yang akan digunakan oleh permukaan. Sekiranya gaya ini tidak ditentukan, kontur akan kembali digunakanlinetype.



  3. Thelinewidth diambil dari yang pertamagaya linen, semuaTetapan dari berikutTidak diendahkan.

Menggunakan linetypes yang disesuaikan

  1. Kontur menggunakanlinetype dengan indeks satu lebih tinggi daripada yang digunakan oleh arahan plotting.

  2. Semualinetype mesti disesuaikan, juga yang pertama, yang digunakan oleh permukaan. Jika tidak, tetapan lalai digunakan.

  3. Sama seperti untukgaya rambut.

Untuk ujian, saya menggunakan data anda dan skrip yang dilucutkan berikut:

set semula set terminal pngcairo ukuran 800,800 set output '3d-polar.png' set lmargin pada layar 0,05 set rmargin pada layar 0,85 set bmargin pada layar 0,1 set tmargin pada layar 0,9 set peta pm3d interpolate 20,20 # plotkan peta peta panas set cntrparam bspline cntrparam poin 10 set cntrparam level increment -6, -6, -18 set kontur permukaan set palet rgb 33,13,10 set cbrange [-18: 0] unset border unset xtics unset ytics set sudut sudut darjah = 3.31 set xrange [- r: r] set yrange [-r: r] set asal pengguna kotak warna 0.9,0.1 ukuran 0.03,0.8 # muatkan salah satu fail berikut: #load 'linestyle.gp' #load 'linetype.gp' splot 'new_test.dat 'tajuk' '

Thecbrange ditakrifkan hanya hingga ke-18, jadi saya mengubah tahap kontur dengan sewajarnya (-24 tidak dilukis pula).

Dua 'fail tetapan kontur', yang saya gunakan adalah:

linetype.gp:

set linetype 1 lc rgb 'blue' lw 3 set linetype 2 lc rgb 'black' set linetype 3 lc rgb 'orange' set linetype 4 lc rgb 'kuning'

linestyle.gp:

tetapkan pengguna kenaikan gaya

set gaya garis 1 lc rgb 'biru' lw 3 set gaya garis 2 lc rgb 'hitam' set gaya garis 3 lc rgb 'oren' set gaya garis 4 lc rgb 'kuning'

Kedua-duanya memberikan gambar output yang sama:

masukkan keterangan gambar di sini

Untuk menggunakan ini untuk skrip lengkap anda, muatkan salah satu daripada dua fail secara langsung sebelumarahan splot. Ini memberikan output:

masukkan keterangan gambar di sini

Selepas soalan pertama anda mengenai kontur, saya hendak menghantar laporan pepijat, tetapi agak sukar untuk mengaitkannya dengan soalan konkrit. Dengan soalan ini mungkin lebih mudah. Saya akan melihat sekiranya saya mempunyai masa untuk melakukan ini.


Saya terpaksa merujuk kembali kepada soalan ini ketika saya sekali lagi melakukan plot GNUplot, kali ini dalam koordinat segi empat tepat, dan mendapati bahawa tidak dapat mengingat bagaimana mengawal jenis garis untuk garis kontur.

Saya mendapati bahawa maklumat di atas sekarang tidak begitu betul, dan saya telah menemui cara untuk menerangkan bagaimana ini berfungsi seperti pada GNUplot versi 5 patchlevel 3.

Terdapat tiga perkara yang saya dapati untuk mengawal garis kontur: 1. perintah 'set cntrparam level increment', dan 2. perintah 'set style increment user', dan 3. senarai gaya garis (saya menggunakan 'set style 'perintah)

Ternyata agak rumit. Izinkan saya memberikan satu atau dua contoh dari kod saya sendiri:

#CARA MENGENDALIKAN WARNA LINE DAN WIDTH UNTUK GARIS CONTOUR: #bilangan garis kontur dan tahapnya dikendalikan menggunakan perintah 'set cntrparam', di atas #set 'set cntrparam' mempunyai format 'start, increment, end' untuk kedudukan baris # perhatikan bahawa tahap akhir disenaraikan di bahagian atas kunci / legenda untuk baris! # gaya gaya 1 digunakan di tempat lain, bukan untuk garis kontur # gaya gaya 2 digunakan untuk gaya garis terakhir (mis. akhir, atau yang terakhir dilukis) # gaya gaya untuk baris lain bermula lebih jauh di bawah senarai gaya dan karya MENINGKATKAN gaya garis 2 #contoh 1: tiga garis pada -40, -30, dan -20 # tetapkan kenaikan tahap cntrparam -20, -10, -40 # garis gaya set 1 lw 0.5 lc 'grey30' # set gaya baris 2 lw 0.5 lc 'blue' # set style line 3 lw 0.5 lc 'white' # set style line 4 lw 0.5 lc 'red' # Ini menghasilkan: # -20 warna garis MERAH # -30 warna garis adalah PUTIH # -40 warna garis adalah BIRU # #contoh 2: empat garis pada -35, -30, -25, dan -20 # set kenaikan tahap cntrparam -20, -5, -35 # set gaya garis 1 lw 0,5 lc 'grey30' # set garis gaya 2 lw 0,5 lc 'biru' # set gaya garis 3 lw 0,5 lc 'putih' # set gaya garis 4 lw 0,5 lc 'merah' # set gaya garis 5 lw 0,5 lc 'kuning' # Ini menghasilkan: # -20 warna garis adalah KUNING # -25 warna garis MERAH # -30 warna garis adalah PUTIH # -35 warna garis adalah BIRU

Saya berharap agar orang lain dapat menemukan ini berguna dan bermaklumat. Mungkin Christoph (sekiranya dia membaca topik ini) boleh memberi komen, kerana GNUplot adalah alat yang terus berkembang dan dia akan mengetahuinya secara terperinci.