Gnuplot: cara menghindari margin putih di PDF melalui penyesuaian ukuran halaman dan parameter lainnya

Ini kode saya:

set term pdfcairo enhanced dashed size 5,3;
set output "plot.pdf";
f(x,y)=sin(1.3*x)*cos(.9*y)+cos(.8*x)*sin(1.9*y)+cos(y*.2*x)
set size square
set xrange [-5:5]
set yrange [-5:5]
set contour base
set cntrparam level incremental -3, 0.5, 3
set palette rgbformulae 33,13,10
set pm3d map
set isosample 250, 250
unset key
set lmargin at screen 0.1;
set rmargin at screen 0.95;
set bmargin at screen 0.2;
set tmargin at screen 0.95;
splot f(x,y) with pm3d

Inilah plot yang sesuai:

masukkan deskripsi gambar di sini

Ada margin putih di sekitar plot. Bagaimana cara menghilangkan margin putih ini melalui pengeditan kode gnuplot?


person Changwang Zhang    schedule 06.05.2014    source sumber
comment
pm3d dan set margins tidak saling menyukai. Saya akan menyarankan dua opsi: 1) Anda menggunakan plot ... with image yang fungsinya tidak dapat Anda gunakan, jadi Anda perlu mengekspor data menggunakan table. Ini akan memungkinkan Anda mengatur margin tanpa masalah. 2) Anda menggunakan utilitas eksternal untuk memotong PDF. Saya biasanya menggunakan pdfcrop.   -  person Miguel    schedule 07.05.2014
comment
Opsi ketiga (jelek): 3) Ubah atribut size plot menjadi sesuatu yang lebih besar dari set size 1,1, mis. set size 1.5,1.25 sampai Anda menyesuaikan gambar dengan keinginan Anda; ini tidak terlalu sistematis dan memerlukan banyak percobaan dan kesalahan. Dari ketiga opsi tersebut, saya menggunakan 1) sendiri.   -  person Miguel    schedule 07.05.2014
comment
Saya mencoba mengatur ukuran halaman di terminal. Tapi menurut saya itu tidak bisa menghilangkan margin sepenuhnya. Jika saya dapat mengatur posisi gambar dalam sebuah halaman, saya kemudian dapat menghapus margin sepenuhnya. Saya hanya tidak tahu apakah ada fungsi seperti itu di Gnuplot: mengatur posisi gambar di halaman.   -  person Changwang Zhang    schedule 07.05.2014
comment
@Miguel Plotting dengan gambar dapat dilakukan dengan fungsi: plot '++' using 1:2:(f($1,$2)), tapi sayangnya plot tidak mendukung kontur, biasanya membuat plot 2d.   -  person Christoph    schedule 07.05.2014
comment
@Christoph Saya tidak tahu file dummy menerima dua variabel, sangat berguna!   -  person Miguel    schedule 07.05.2014
comment
Apakah ada cara untuk melakukan interpolasi dengan gambar seperti mengatur interpolasi pm3d 0,0. Saya sebenarnya merencanakan dari file data.   -  person Changwang Zhang    schedule 07.05.2014
comment
@Leo Ini bukan ukuran terminal, tetapi ukuran gambar yang saya sarankan untuk diubah, kemudian Anda dapat mengimbangi posisi plot menggunakan set origin, yang secara default adalah set origin 0,0. Untuk menjaga angka Anda tetap di tengah, jika Anda melakukan set size 1.5,1.25 maka Anda harus mengimbanginya dengan set origin -0.25,-0.125.   -  person Miguel    schedule 07.05.2014
comment
@Leo Lihatlah pertanyaan lama saya dan jawaban Christoph: stackoverflow.com/questions/18771210/   -  person Miguel    schedule 07.05.2014


Jawaban (1)


Terima kasih Miguel.

Saya sekarang mengatur ukuran halaman dan margin. Setelah beberapa tes:

set term pdfcairo enhanced dashed size 3.2,3;
set output "plot.pdf";
f(x,y)=sin(1.3*x)*cos(.9*y)+cos(.8*x)*sin(1.9*y)+cos(y*.2*x)
set size square
set xrange [-5:5]
set yrange [-5:5]
set contour base
set cntrparam level incremental -3, 0.5, 3
set palette rgbformulae 33,13,10
set pm3d map
set isosample 250, 250
unset key
set lmargin at screen 0.05;
set rmargin at screen 0.9;
set bmargin at screen 0.1;
set tmargin at screen 0.95;
splot f(x,y) with pm3d

Berikut gambarnya:

masukkan deskripsi gambar di sini

person Changwang Zhang    schedule 07.05.2014