Gnuplot 5.2 errorlines с заголовком игнорирует настройки линии (терминал windows) - PullRequest
1 голос
/ 20 апреля 2020

Я пытаюсь нанести несколько ксерорлайн на один график Gnuplot 5.2. Я обнаружил, что xyerrorlines наследует свойства строки панели ошибок (linewidth, dashtype) для любой строки с указанным заголовком.

Есть ли у меня проблема с синтаксисом?

Прикрепленный MWE dr aws две простые строки - одна с указанным заголовком, а другая без. Вы можете видеть тот, у которого отображаются нотитлы в соответствии с его собственной шириной линии и типом черты, в то время как тот, у которого есть заголовок, похоже, наследует ширину линии и тип черты из строки «set errorbars» (строка 2).

set terminal windows color enhanced "Ariel" 8 close
set errorbars 5 linewidth 2 dashtype 1
set xrange[0:5]
set yrange[0:20]
set xlabel "X Values"
set ylabel "Y Values"

plot '-' with xyerrorlines linecolor rgbcolor "#B2B2B2" pointtype 2 pointsize 4 linewidth 4 dashtype 3 title 'Method 1',\
'-' with xyerrorlines linecolor rgbcolor "#000000" pointtype 2 pointsize 2 linewidth 4 dashtype 4 notitle
1   1   0.1 0.5
2   4   0.1 0.5
3   9   0.1 0.5
4   16  0.1 0.5
e
1   2   0.1 0.5
2   6   0.1 0.5
3   11  0.1 0.5
4   18  0.1 0.5
e

, которая результаты на следующем графике: Output of MWE

Удаление строки:

set errorbars 5 linewidth 2 dashtype 1

Включает независимые параметры ширины линии и типа тире для каждой строки с заголовком, но панели ошибок наследуют те свойства, которые я не хочу Я хочу установить отдельную строку и стили da sh для панелей ошибок и строк (как подразумевается в руководстве, стр. 128).

Это поведение также повторяется в терминале postscript. Я не проверял никаких других терминалов.

Я использую Gnuplot версии 5.2 патч 7-го уровня.

Спасибо, Райан

1 Ответ

1 голос
/ 21 апреля 2020

Ошибка, кажется, вызвана комбинацией непустого заголовка и стиля графика xyerrorlines. Я не думаю, что настройка свойств панели ошибок сама по себе влияет на это. Я рассмотрю основную причину ошибки, но пока что есть обходной путь:

$D1 << EOD
1   1   0.1 0.5
2   4   0.1 0.5
3   9   0.1 0.5
4   16  0.1 0.5
EOD
$D2 << EOD
1   2   0.1 0.5
2   6   0.1 0.5
3   11  0.1 0.5
4   18  0.1 0.5
EOD

set errorbars 5 linewidth 2 dashtype 1
plot $D1 with xyerrorlines lc rgbcolor "#B2B2B2" pt 2 ps 4 lw 4 dt 3 notitle,\
     $D2 with xyerrorlines lc rgbcolor "#000000" pt 2 ps 2 lw 4 dt 4 notitle, \
keyentry with xyerrorlines lc rgbcolor "#B2B2B2" pt 2 ps 4 lw 4 dt 3 title "Method 1",\
keyentry with xyerrorlines lc rgbcolor "#000000" pt 2 ps 2 lw 4 dt 4 title "Method 2"

Хитрость заключается в том, чтобы сначала построить нужные данные без заголовка, чтобы избежать ошибки, а затем создать соответствующие ключевые записи с использованием заголовка, но без данных. Компонент "keyentry" является относительно новым, но он присутствует в версии 5.2.7.

enter image description here

...