#gnuplot
#gnuplot
Вопрос:
Мой вопрос касается моего кода в gnuplot. Я хочу выводить данные с помощью pm3d
карты и матрицы, а также хочу выводить z
значение в каждой точке данных. Я пробовал это:
set pm3d;set pm3d interpolate 0,0;set pm3d map;
set Palette rgb 33,13,10;splot 'filepath' Matrix
Все работает нормально, но я не могу вывести z
значения, поэтому я попробовал это
splot 'filepath' Matrix using 1:2:(sprintf(%g,$3)) with labels
но это тоже не работает. Кто-нибудь может мне помочь?
Комментарии:
1. Что именно означает «я не могу вывести значения z» или «также не работает»? Вы должны предоставить полный пример с входными данными, который позволит другим воспроизвести вашу проблему.
Ответ №1:
как написал @Bodo … «не работает» недостаточно и не полезно для других. В вашем коде вы, должно быть, получили несколько сообщений об ошибках, также предоставьте их.
Несколько ошибок в вашем скрипте:
set palette
вместо set Palette
splot 'filepath' matrix
вместо splot 'filepath' Matrix
sprintf("%g",$3)
вместо sprintf(%g,$3)
К вашей реальной проблеме:
splot
требуются 3D координаты текст метки, т. е. в вашем случае x:y:z:z
или 1:2:3:3
Итак, следующий код, вероятно, выполняет то, что вы намеревались сделать.
set pm3d
set pm3d interpolate 0,0
set pm3d map
set palette rgb 33,13,10
splot 'filepath' matrix u 1:2:3:(sprintf("%g",$3)) with labels
Комментарии:
1. Спасибо, что решили мою проблему, я просто не знал правильного синтаксиса команды label, но с вашим кодом это работает 🙂 это была просто проблема с, как вы сказали, 3d координатами метка 🙂
2. Всегда пожалуйста. Хотя gnuplot имеет довольно хорошее руководство и справочную функцию, иногда бывает трудно найти правильную запись или подходящий пример на демонстрационной странице gnuplot.info/demo . Не забудьте отметить свой вопрос как решенный, т. е. принимающий ответ.