Включить точки данных в gnuplot smooth

Имея данные как:

38 52.26
41 46.34
42 49.49

Использование smooth линий; могу ли я включить точки на линию графика, не строя ее дважды?

Теперь я использую:

plot "foo.dat" using ($0):2 smooth csplines title "foo", \
               '' using ($0):2 with points title ""

Пример графика

Расширенный упрощенный набор данных:

38     52.26
39     46.34
42     57.29
43     60.41
44     53.57
45     51.49
46     48.24
49     58.50
50     56.85
51     55.56
52     62.81
54     51.76
55     46.94
56     46.35
57     52.76
59     49.49
62     51.78
63     48.24
65     54.46
66     50.00

person Luca Stein    schedule 17.12.2012    source источник
comment
Вы можете попробовать with linespoints, но я не уверен, что это сделает то, что вы хотите. (Мне нужен полный файл данных, чтобы поэкспериментировать с ним). Что-то не так с дополнительной строкой кода? Другими словами, вы хотите, чтобы ваш участок выглядел иначе? Если да, что бы вы хотели в нем изменить? Возможно, мы сможем работать с этим, если вы предоставите более подробную информацию о том, что вы ищете.   -  person mgilson    schedule 17.12.2012
comment
@mgilson: Да, with linespoints - это не то, что я хочу, поскольку это устанавливает точки в заданном интервале точек, а не в точках данных. В этой дополнительной строке нет ничего плохого, но интересно, есть ли более чистый/правильный способ сделать это.   -  person Luca Stein    schedule 17.12.2012
comment
В этом случае я бы сказал, что нет более чистого способа сделать это (кроме того, чтобы сказать '' using ($0):2 with points notitle вместо title "" для второго графика).   -  person mgilson    schedule 17.12.2012
comment
@mgilson: хорошо. Спасибо. Добавьте это как ответ, и я приму :) (Ps: Расширенный упрощенный набор данных был немного глупым, поскольку столбец 1 не является последовательным. (Обычно это 1 2 4 7, а не 1 2 3 4 5 6 7). - отредактировано для ссылки) notile было хорошо - title "" больше похоже на взлом и неоднозначен в коде.   -  person Luca Stein    schedule 18.12.2012


Ответы (1)


Это мой способ сделать это:

...
plot "file" using 1:3 notitle with points linestyle 1, \
     "" using 1:3 notitle smooth csplines with lines linestyle 1, \
     1 / 0 title "title" with linespoints linestyle 1
...

введите здесь описание изображения

Первая запись отображает точки на графике без легенды. Вторая запись изображает сглаженную линию на графике, опять же без легенды. Третья запись предназначена только для легенды с использованием комбинированных точек.

Если вы используете точки линии на сглаженной линии, будут показаны все точки, делающие ее гладкой, а не только точки данных.

'linestyle' указывает gnuplot отображать все данные, используя один и тот же стиль, в основном совмещая линии и точки для создания линий. Третья строка, 'linespoints', предназначена только для легенды и не содержит никаких данных на графике.

person Łukasz Rajchel    schedule 30.10.2013
comment
Независимо от того, работает это или нет, попробуйте также включить некоторые пояснения в свой код. Высококачественный ответ не только даст решение, но и объяснит, как это работает / почему вы делаете это именно так. - person Scott Solmer; 31.10.2013