Hello,
I'm a new user of matplot++ lib, which uses gnuplot as the default backend. I've received some weird results, when enabling the legend for my plots and thus first thought matplot++ is doing something wrong.
After some time of code digging and debugging I've collected the whole plot command, matplot++ is sending to gnuplotand tried to supply gnuplot by myself from the cmd.
The result seems to be the same.
matplot++ makes use of the notautotitle tag, and I've discovered, that this single tag is responsible for the issue.
In fact I have a couple of line plots, which are all present in the plot command, but always the first line will not be drawn by gnuplot.
I'm on windows11 with the official gnuplot v5.4 Patchlevel 8 installer package.
Thats the resulting graph, when the noautotitle is disabled:

This is the corrupted graph:

As you can clearly see, the blue line is not showing up.
The command is:
# Setting figure properties
reset
set terminal wxt title "Figure 1"
set terminal wxt title "Figure 1" size 560,420 enhanced font "Sans,10"
# Start multiplot
set multiplot
# Window background
set object 1 rectangle from screen 0,0 to screen 1,1 behind fillcolor rgb "0x00EFEFEF" fillstyle solid 1.0 noborder
# Plotting axes - 1
# Axes position
set origin 0.130000,0.110000
set size 0.7749999762,0.8149999976
set lmargin at screen 0.1299999952
set rmargin at screen 0.9049999714
set bmargin at screen 0.1099999994
set tmargin at screen 0.9249999970
# Axes title
unset title
# Axes box
set border 15 linecolor "black" linewidth 0.5000000000
# Create grid
set grid xtics mxtics ytics mytics vertical linecolor rgb "0xD8262626" dashtype 1 linewidth 0.5000000000 linetype -1, linecolor rgb "0xE5191919" dashtype '--' linewidth 0.5000000000 linetype -1
set format x "%g"
set xtics textcolor "0x00262626" font "Sans,10" nomirror in scale 0.7500000000
set mxtics 2
unset xzeroaxis
unset x2tics
unset x2zeroaxis
set format y "%g"
set ytics textcolor "0x00262626" font "Sans,10" nomirror in scale 0.7500000000
set mytics 2
unset yzeroaxis
unset y2tics
unset y2zeroaxis
unset colorbox
# Axes ranges
set xrange [:] noreverse
set yrange [:] noreverse
set y2range [:] noreverse
# Axes scale
set logscale x
set logscale y
# Axes labels
set xlabel "n" font "Sans,11" textcolor "black"
set ylabel "duration (in seconds)" font "Sans,11" textcolor "black"
# Axes legend
set key on font "Sans,11.0000000000" textcolor rgb 'black' inside left top vertical Left opaque reverse noinvert width 1 noautotitle box linecolor rgb "black" dashtype 1 linewidth 0.5000000000 linetype -1
# Axes background
set object 2 rectangle from graph 0,0 to graph 1,1 behind fillcolor rgb "white" fillstyle solid 1.0 noborder
# Axes objects
plot '-' with linespoints linecolor rgb "0x000071BC" dashtype 1 linewidth 0.5000000000 pointsize 1.0000000000 pointtype 6,\
'-' with linespoints linecolor rgb "0x00D85218" dashtype 1 linewidth 0.5000000000 pointsize 1.0000000000 pointtype 6,\
'-' with linespoints linecolor rgb "0x00ECB01F" dashtype 1 linewidth 0.5000000000 pointsize 1.0000000000 pointtype 6,\
'-' with linespoints linecolor rgb "0x007D2E8D" dashtype 1 linewidth 0.5000000000 pointsize 1.0000000000 pointtype 6, keyentry with linespoints linecolor rgb "0x000071BC" dashtype 1 linewidth 0.5000000000 pointsize 1.0000000000 pointtype 6 title "cholesky", keyentry with linespoints linecolor rgb "0x00D85218" dashtype 1 linewidth 0.5000000000 pointsize 1.0000000000 pointtype 6 title "choleskyV", keyentry with linespoints linecolor rgb "0x00ECB01F" dashtype 1 linewidth 0.5000000000 pointsize 1.0000000000 pointtype 6 title "choleskyZ", keyentry with linespoints linecolor rgb "0x007D2E8D" dashtype 1 linewidth 0.5000000000 pointsize 1.0000000000 pointtype 6 title "lrPivotZP"
8.0000000000 0.0000561000
16.0000000000 0.0003127000
32.0000000000 0.0007530000
64.0000000000 0.0049594000
128.0000000000 0.0232364000
256.0000000000 0.1806736000
512.0000000000 1.1956353000
e
8.0000000000 0.0000533000
16.0000000000 0.0001761000
32.0000000000 0.0012232000
64.0000000000 0.0057300000
128.0000000000 0.0228791000
256.0000000000 0.1208690000
512.0000000000 0.8240237000
e
8.0000000000 0.0000450000
16.0000000000 0.0001915000
32.0000000000 0.0010003000
64.0000000000 0.0037632000
128.0000000000 0.0238219000
256.0000000000 0.1686483000
512.0000000000 1.2214004000
e
8.0000000000 0.0000787000
16.0000000000 0.0003122000
32.0000000000 0.0019980000
64.0000000000 0.0094896000
128.0000000000 0.0499260000
256.0000000000 0.3907805000
512.0000000000 4.6561209000
e
# Unset window background so it does repeat on other subplots
unset object 1
# Finalizing the multiplot
unset multiplot
Thank you in advance.
The primary issue here is that this third-party tool is trying way too hard.
It uses multiplot mode for no discernible reason, and it uses enormous amounts of tricks and manual overrides to achive what gnuplot itself would have done by itself, if left to its own devices. E.g. instead of manually inserting 4 key entries, and then telling gnuplot not to generate any of its own, it would have been way simpler to just add
title 'Cholesky'etc. direktly to the plot command.I think this is a problem in the initial state of the wxt terminal in that particular windows executable.
That's as far as I can take it.