Как сделать точки одним цветом, когда третий столбец равен нулю, а другой цвет - в Gnuplot?
Мне нужно изменить цвет точки для строки значений на основе цвета в одном столбце. Данные:
# x y z
1, 3, 0
1, 5, 6
3, 5, 2
4, 5, 0
Цвет должен быть одним значением, если столбец равен нулю, а другой цвет, если значение в третьем столбце отличное от нуля.
Итак, я предполагаю:
plot "./file.dat" u 1:2:3 with points palette
как показано здесь: qaru.site/info/323664/... не будет работать.
В приведенных выше примерах данных команда gnuplot предоставляет три разных цвета вместо двух, которые я ищу.
Ответы
Ответ 1
Это, вероятно, близко к тому, что вы хотите:
set palette model RGB defined ( 0 'red', 1 'green' )
plot[0:5][0:6] "file.dat" u 1:2:( $3 == 0 ? 0 : 1 ) with points palette
Вы можете сделать еще один шаг и удалить "шум":
unset key
unset colorbox
plot[0:5][0:6] "file.dat" u 1:2:( $3 == 0 ? 0 : 1 ) with points pt 7 ps 3 palette
если имеет место только дифференциация между нулем и ненулевым значением.
Ответ 2
Вы можете настроить палитру на
set palette defined (-0.1 "blue", 0 "red", 0.1 "blue")