Я пытался использовать gnuplot для построения кучи данных. (данные из файла txt или файла csv) Затем я попытался нарисовать линию тренда этих данных. Однако это не работает.
Данные изначально были из файла Microsoft Excel. Я сохранил их как файлы .txt и .csv. В txt-файле данные выглядят так:
0.45 1.1
0.63 1.5
0.70 1.8
0.85 2.1
0.90 2.3
1 2.5
1.05 2.7
1.12 3
1.3 3.4
1.45 3.8
1.6 4
Когда я попытался построить его, используя: график "data.txt" Затем Gnuplot говорит:
line 12: Bad data on line 1 of file data.txt
Кто-нибудь знает, как мне решить эту ошибку?
Думаю, в txt файле может быть ошибка формата. Затем я попытался использовать файл .csv. В файле .csv. Данные такие:
0.45?,1.1?
0.63?,1.5?
0.70?,1.8?
0.85?,2.1?
0.90?,2.3?
1?,2.5?
1.05?,2.7?
1.12?,3?
1.3?,3.4?
1.45?,3.8?
1.6?,4?
Я пытался график "data.csv" опять таки. Затем Gnuplot рисует только 2 точки из них.
Другой вопрос, я хотел бы построить линию тренда, используя следующий код:
set xlabel "I"
set ylabel "V"
set xrange [0:2]
set yrange [0:5]
set format x "%0.2f"
set format y '%0.2f'
plot 'data.txt' using 1:2 title 'the lab' with points
f(x) = m*x + b;
fit f(x) 'data.csv' using 1:2 via m,b
set terminal png
set output 'output.png';
Это снова не удалось с data.csv. Есть ли проблема в коде?
Заранее спасибо.
Возможно, в вашем файле данных есть спецификация (метка порядка байтов), которая не обрабатывается должным образом.
@MichaelO. Спасибо за помощь. Я исправил текстовый файл, но линия тренда не отображается. Не могли бы вы дать мне совет по этому поводу? Спасибо
fit
только вычисляет оптимальные значения для выбранных параметров, но ничего не строит. Сначала fit f(x) 'data.csv' using 1:2 via m,b
, затем plot f(x), 'data.csv' using 1:2
Я помещаю ваши данные в текстовый файл, он строится нормально. Также нужно переместить строки
set terminal
иset output
наверх. И что-то не так со всеми этими знаками вопроса во втором блоке данных.