2012-06-13 28 views
7

üçüncü (renkli) noktasının ayar aralığı: Genellikle, üçüncü nokta aralığı (açıklamasında görünen)Gnuplot: gnuplot'a kullanılarak renk haritalar çizilmesi, genelde şu satırları kullanmak

... 
    set palette rgbformulae 33,13,10 
    plot "file.dat" using 1:2:3 with points pointtype '7' palette 

gnuplot tarafından otomatik olarak ayarlanır. Ama bunu nasıl değiştirebilirim? 3. nokta aralığının 0'dan 1500'e kadar olmasını istiyorum.

Herhangi bir öneriniz var mı?

cevap

11

Aslında bu gerçekten çok iyi bir soru - colorbar aralığının belirlenmesini istediğinizi farz etmeyi varsayıyorsunuz (lejant [yani anahtar] değil - gösterge genellikle bu bilgilere sahip değil).

İlk düşüncem set cbrange idi. İstediğin bu yapacağım - "Ne aralık puan üzerinden gelmesini istiyoruz"

set cbrange [0:1500] 
set palette rgbformulae 33,13,10 
plot "file.dat" u 1:2:3 w p pt 7 palette 

Ancak O halde soru şudur Bu çözüm, aralık noktalarının dışında, skalanın alt/üst kısmına doğru hareket edecektir (örneğin, negatif sayılar için mor, 1500'den büyük sayılar için kırmızı). Bir sonraki düşüncem, bu noktaları set zrange [0:1500] ile gizleyebilmenizdi - Ama bu işe yaramıyor. Bu noktada en az 2 seçeneğiniz var.

Seçenek 1: kullanım splot:

set view map 
set cbrange [0:1500] 
set zrange [0:1500] 
set palette rgbformulae 33,13,10 
splot "file.dat" u 1:2:3 w p pt 7 palette 

Sizin sınırları eskisi biraz daha farklı olacaktır, ama bu hiçbir gerçek önemli değil.

Seçenek 2: Ayrıca

set cbrange [0:1500] 
set palette rgbformulae 33,13,10 
inrange(c)=((c>=0) && (c<=1500))? c : (1/0) 
plot "file.dat" u 1:2:(inrange($3)) w p pt 7 palette 

, renk haritalar çizmek için, size pm3d komplo tarzı içine bakmak isteyebilirsiniz: (zaten önceki soruya hakkında bilmek) üçlü operatör ile filtre (image da işe yarayabilir). Veri dosyalarınızı biraz daha yeniden yapılandırmanız gerekebilir, ancak renk haritalarını çizmek, stilin ekmek ve tereyağıdır.

+0

Detaylı cevabınız için çok teşekkürler. – stupidity