Не удается построить матрицу в Gnuplot


У меня есть матрица 1s и 0s, сохраненная в файле. Выглядит это так:

    0 0 0 0 0 0 0 0 0 0 
    0 0 0 0 0 0 0 0 0 0 
    0 0 0 0 0 0 0 0 0 1 
    0 0 0 0 0 0 0 0 0 0 
    0 0 0 0 0 0 0 1 1 0 
    0 0 0 0 0 1 1 0 0 0 
    1 1 1 1 1 0 0 0 0 0 
    0 0 0 0 0 0 0 0 0 0 
    0 0 0 0 0 0 0 0 0 0 
    0 0 0 0 0 0 0 0 0 0 

Я пытаюсь построить график в gnuplot, используя команду:

    plot 'data.rtf' matrix with image

Но когда я делаю это, я получаю ошибку:

    warning: matrix contains missing or undefined values
    Matrix does not represent a grid
Я думаю, что должен получить изображение, где 0-белое пространство, а 1-черное пространство. Я новичок в gnuplot, поэтому я понятия не имею, что может быть неправильно, и если я использую правильный способ сделать это. Я буду благодарен за любую помощь. Спасибо.
2 2

2 ответа:

Ваш файл-это rtf (rich text format) файл, который является форматом языка разметки, который gnuplot не поймет. Вам нужно будет создать файл в текстовом редакторе (не текстовом процессоре), чтобы иметь возможность использовать его.

Предоставленный вами файл выглядит следующим образом:

{\rtf1\ansi\ansicpg1250\cocoartf1404\cocoasubrtf340
{\fonttbl\f0\fnil\fcharset0 Menlo-Regular;}
{\colortbl;\red255\green255\blue255;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0

\f0\fs22 \cf0 \CocoaLigature0 0 0 0 0 0 0 0 0 0 0\
0 0 0 0 0 0 0 0 0 0\
0 0 0 0 0 0 0 0 0 1\
0 0 0 0 0 0 0 0 0 0\
0 0 0 0 0 0 0 1 1 0\
0 0 0 0 0 1 1 0 0 0\
1 1 1 1 1 0 0 0 0 0\
0 0 0 0 0 0 0 0 0 0\
0 0 0 0 0 0 0 0 0 0\
0 0 0 0 0 0 0 0 0 0
Обратите внимание, что он начинается с набора текста разметки. Gnuplot предназначен для работы с текстовыми файлами, а не с форматированными текстовыми или двоичными файлами (за некоторыми ограниченными исключениями).

Создание текстового файла содержащая вашу разработанную матрицу будет работать просто отлично.

Цветовые графики являются поверхностными, поэтому вы должны использовать splot, а не plot

set pm3d map
set palette gray
splot 'test.txt' matrix w image