To naprawdę dobre pytanie - zakładając, że chcesz określić zasięg paska kolorów (nie legenda [to jest klucz] - legenda zazwyczaj nie ma tych informacji).
Moja pierwsza myśl to set cbrange
. To może zrobić, co chcesz -
set cbrange [0:1500]
set palette rgbformulae 33,13,10
plot "file.dat" u 1:2:3 w p pt 7 palette
Jednak pytanie brzmi "Co chcesz osiągnąć poza zasięgiem?" To rozwiązanie przeniesie się poza zakres punktów do dolnej/górnej części skali (np. Fioletowy dla liczb ujemnych, czerwony dla liczb większych niż 1500). Moja następna myśl była taka, że powinieneś być w stanie usunąć te punkty przez set zrange [0:1500]
- Ale to nie działa. W tym momencie masz co najmniej 2 opcje.
Wariant 1: użycie 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
Twoje granice będzie nieco inna niż były wcześniej, ale to nie jest prawdziwy wielkiego.
Opcja 2: filtr z operatorem potrójnego (co już wiesz o z poprzednim pytaniu):
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
Również do kreślenia map kolorów, można zajrzeć do stylu pm3d
kreślenia (image
może również działać). Być może będziesz musiał nieco zmodyfikować swój plik danych, ale tworzenie map kolorów polega na kreśleniu chleba z masłem.
Bardzo dziękuję za szczegółową odpowiedź. – stupidity