Gnuplot: пропуск точек из файла данных при построении матрицы - PullRequest
0 голосов
/ 26 октября 2018

У меня есть файл данных, содержащий матрицу чисел, которая имеет форму, подобную этой:

nan  nan  nan  nan
0.5  nan  nan  nan
0.1  1.3  nan  nan
3.5  0.1  0.8  nan

Я хотел бы построить эту матрицу, но пропустить некоторые точки из графика, скажем,значение 1.3, так что на графике это выглядит так, как если бы значение было nan.

Я видел сообщения, показывающие, как пропустить строки или столбцы, например, этот или как делать то, что я хочу, используя тепловые карты ( этот ),но это требует другой формы для файлов данных, если я правильно понимаю.

Возможно ли это также с использованием матричного графика, т. е.

plot "datafile.dat" matrix w image 

или мне придется переформатировать мойфайл данных?

Для немного фона;файлы данных содержат совокупность состояний атома после взаимодействия с внешним полем, и я хотел бы исключить из графика состояния, изначально заполненные до взаимодействия.

1 Ответ

0 голосов
/ 26 октября 2018

Можно также изменить данные с помощью using в режиме matrix. Столбцы 1 и 2 будут содержать индексы, а в столбце 3 значение элемента матрицы. Смотри help matrix examples. Так что вы можете сделать:

plot "/tmp/f" matrix u 1:2:((abs($3-1.3)<1e-5)?1/0:$3) w image

Я не уверен, почему, но столбец 3 содержит представление исходных данных с плавающей запятой, которое не найдено точно равным исходному вводу: отсюда abs.

...