Gnuplot XRD график, соединительные точки - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть данные XRD, и когда я их строю, я хочу иметь такой график excel-scatter with smoothline. В любом случае, Excel имеет проблему с отображением слишком больших данных, и я хочу построить их с помощью Gnuplot, и вот мой код

set title "GNUPLOT RESULT"

set xlabel "Wavelength 2Theta"

set ylabel "Intensity"

set xrange [20:90]

set key right center

set terminal pngcairo size 1600, 1000 enhanced font "Arial,16"

set output "Allt-XRD.png"
plot  "AllW" using 1:2 w p pt 7 ps 2 lc rgb "orange" title "point", "AllW" using 1:2 smooth acspline lw 3 lc rgb 'blue' title 'spline'

Но что он производит, GNUPLOT он не соединяет все точки / точки, и я не знаю, но каким-то образом у него есть предпочтения (это точка веса?) Для их соединения.

Вопрос

  • Как мне соединить все точки, как видно на графике Excel, с Gnuplot? Заранее спасибо

P.S .: Я перепробовал все гладкие версии acscpline 'cspline' и т. Д., Это не сработало

Редактировать 1: сюжет, который задается вопросом, почему я не пробую это enter image description here

Редактировать 2: рабочий ответ пользователя 8153: использовать десятичную точку данных, а не целое число. Опция «Сплайн» и «Точки» прекрасно отображают данные, как показано ниже spline

Как выглядят данные XRD, они слишком длинные, поэтому я вставил только несколько из них

Wavelength = 1.54059 Å (Cu) 
Angle       Intensity
20.00243    1467
20.02869    1533
20.05495    1482
20.08121    1468
20.10747    1376
20.13374    1421
20.16000    1433
20.18626    1380
20.21252    1431
20.23878    1405
20.26504    1357
20.29130    1374
20.31756    1413

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Ваш график with points показывает, что ваши данные содержат только целые значения длины волны, но каждое значение имеет несколько интенсивностей, связанных с ним. Это действительно то, как должны выглядеть данные, или была какая-то ошибка, которая отбивала значения длин волн после десятичной точки? Может быть, ваш файл данных использует символ для десятичной точки, который gnuplot не распознает? Если это так, используйте set decimalsign, чтобы gnuplot понимал, что вы передаете ему числа с плавающей запятой.

Как таковой, gnuplot делает именно то, что вам говорят: он отображает все эти точки в одной и той же координате x и соединяет их линиями, если вы используете with lines, которые затем строятся по вертикали.

0 голосов
/ 09 сентября 2018

Вы сказали ему построить «с точками pointtype 7 pointsize 2» (сокращение «w p pt 7 ps 2»). Так оно и было. Если вы хотите, чтобы он строился с линиями, то скажите «с линиями».

plot  "AllW" using 1:2 with lines lc rgb "orange" title "lines"
...