2012-03-13 25 views
8

olmadan diğeri gnuplot ile iki veri kümeleri çizmeye çalışıyorum. İkisi de (x, y, z) üçüzdür. Bir ızgarada düzenlenmezler. Bunlardan birini dgrid3d ve pm3d kullanarak çizmek istiyorum. Bunun üzerine diğer veri kümesini kaplamak istiyorum ama sadece dağınık noktalar olarak.Aynı grafikte iki veri kümesini gnuplot ile çizin. Bir dgrid3d,

Daha somut bir örnek vermek gerekirse: Bir yüzeye yaklaşan silindirin etkisini çizmeye çalışıyorum. Yüzeyin cevabını çizmek istiyorum ve dgrid3d'un kullanışlı olduğu yer burası. Bunun üzerine, silindirin pozisyonunu çizmek istiyorum ve onun çevresini puan olarak aldım.

kullandığım:

set dgrid3d 100,100,4 
set pm3d 
splot "dataset1" with pm3d, "dataset2" with dots 

veri seti burada yakın bir kare, böylece 100.100 eser iyi yerleştirilmiş yaklaşık 100x100 noktaları. İkinci veri setini nasıl çizdiğim önemli değil, her zaman silindirle aynı boyutta bir kare olmaktan çıkıyor, güzel bir daire yerine. dgrid3d'u kapattığımda, ikinci veri kümesini kendi başlarına çizebilirim ve sonuç silindirin güzel bir çevresidir.

Bu yüzden sorum şu: Biri, dgrid3d kullanarak diğeri kullanmayan iki veri seti kullanarak bir 3B grafiğin çizilmesi mümkün mü?

cevap

8

Evet, bu mümkün, ama düşündüğünüzden biraz daha zor. anahtar Örneğin set table

kullanmaktır:

set dgrid3d 100,100,4 
set pm3d explicit 
set table "interpolated_data.dat" 
splot "dataset1" with pm3d #writes the interpolated data to "interpolated_data.dat" 
unset table 
unset dgrid3d 
splot "interpolated_data.dat" with pm3d, "dataset2" with dots 

dgrid3d yürürlükte olduğu zaman, tüm veriler bir şebekeye interpolasyon ve daha sonra çizilir okumak için işe yaramadı sizin girişimidir nedeni Belirttiğiniz stili kullanarak. Gönderen

gnuplot en etkinleştirildiğinde help dgrid3d , bir dosyadan okunan 3D verileri daima dağınık veri seti olarak kabul edilir.

Bir yan not olarak, bu yöntem aynı zamanda bir pm3d'nin üzerindeki konturları çizmek için de kullanılabilir.

+0

Mükemmel çalışıyor! Çok teşekkürler! – wojrze

+0

Elbette. '' set table'' gnuplot’un küçük bir kullanılmış köşesi olduğunu düşünüyorum. Eminim, bazı şeyler yapmanın en etkili yolu olmadığından, geçici bir dosya oluşturduğundan, ama bir çok şey için, bunu yapmanın tek yolu budur. – mgilson

+0

Daha yeni gnuplot sürümleriyle, tabloya çizerken yalnızca 'pm3d' öğesini kaldırırsanız çalışır. – Kknd