#matlab #2d #gnuplot #contour
Вопрос:
Я переношу некоторые сценарии из MATLAB на C и использую GNUPLOT для построения графиков, в MATLAB я использую следующую команду для построения графиков:
contourf(nU, 200,'linecolor','non');
nU содержит матрицу для построения, у меня уже есть код C, который получает данные и помещает их в тот же формат матрицы, из документации GNUPLOT, splot использует следующий формат, поэтому у меня также есть код для передачи данных в файл ‘data.txt» в следующем формате:
# x, y, z 0.000000 0.000000 0.000000 0.094248 0.000000 0.000000 0.188496 0.000000 0.000000 0.282743 0.000000 0.000000
Я пытался
splot 'data.txt'
и кажется, что он правильно строит данные, но строит вот так:
Однако мне нужен 2d заполненный контурный график, это результат работы MATLAB:
После построения графика, какие команды я могу использовать для изменения вывода GNUPLOT?
Ответ №1:
Рисунок, который вы показываете, я бы назвал тепловой картой, а не контурной диаграммой. Gnuplot может сделать и то, и другое.
Чтобы получить тепловую карту, что-то вроде этого:
set view map # 2D projection of 3D surface splot 'data.txt' with pm3d #
При создании контурной карты необходимо сделать выбор. Сколько контуров? Все то же самое? Цвета? Если вы зайдете так далеко и вам понадобится дополнительная помощь, спросите еще раз. На данный момент я показываю минимальную команду, которая использует все значения по умолчанию:
set view map set contour splot 'data.txt' with lines nosurface