Это вопрос о моем более раннем вопросе здесь: "gnuplot bashshell to plot several curves in one window", который Christoph любезно помог с ним. Тем не менее, я упростил свой вопрос, предполагая, что смогу заранее продвигаться оттуда самостоятельно. Не нужно говорить, я не мог! :(то, что я действительно хочу построить в одной рамке с изображением, представляет собой набор файлов данных, и для каждого из файлов данных на него установлена кривая (экспоненциальная функция). К сожалению, я застрял в gnuplot 4.2, что не позволяет мне использовать цикл и итераций. Я бы очень признателен за любые советы. следующие Баш cript печатает девять кривых и их подогнанные линии на отдельные файлы.gnuplot bashshell несколько кривых и встроенные кривые на одном рисунке
#!/bin/bash
for Counter in {1..9}; do
FILE="dataFile"$Counter".data"
gnuplot <<EOF
set xlabel "k"
set ylabel "p(k)"
set term png
set output "${FILE}.png"
title_fexp(a,b) = sprintf('exp(x) = %.2f * e(%.2f)', a, b)
expon(x) = c * exp(-x*d)
fit [10:100] expon(x) '${FILE}' via c,d
plot [1:50] expon(x)t title_fexp(c,d), '${FILE}'
EOF
done
У вас уже есть все параметры подгонки? Тогда это вопрос чтения их в gnuplot. Если они находятся во внешнем файле, вы можете прочитать их с помощью внешней команды. Например. у вас есть файл temp с текстом '12345', вы можете прочитать его в gnuplot, используя' a = system ("awk 'NR == 1 {print $ 1}' temp") '. – Miguel
В чем проблема? Как должен выглядеть последний сюжет? –
@Miguel Нет У меня нет параметров фитинга в отдельном файле. Вы предлагаете мне сначала запустить код выше, оценить параметры подгонки, записать их в файл, а затем прочитать их из этого файла в сюжет? – PyPhys