How to set a variable line width when plotting?

How to set a variable line width when plotting?



I would like to plot a curve with a variable line width. I normally would do the following if I wanted to use points instead of a line:


gnuplot> plot 'curve.dat' u ($1):($2):($1) ps var



where curve.dat is filled with:


0 0
1 1
2 4
3 9
4 16
5 25



and so on. Now if I try something similar for the line width:


gnuplot> plot 'curve.dat' u ($1):($2):($1) lw var



I get the error message:


undefined variable: var



Or is this something that cannot be done with gnuplot?




1 Answer
1



You're right that linewidth doesn't accept var like pointsize does. But you can have a similar effect by using filledcurves:


linewidth


var


pointsize


filledcurves


WIDTH_FACTOR=20
plot 'curve.dat' u ($1):($2+$1/WIDTH_FACTOR):($2-$1/WIDTH_FACTOR) w filledcurves



1






What a beautiful loop hole, I couldn't find anything in the Gnuplot docs which would help, but this is great. I appreciate it.

– G. LC
Sep 11 '18 at 2:42



Thanks for contributing an answer to Stack Overflow!



But avoid



To learn more, see our tips on writing great answers.



Required, but never shown



Required, but never shown




By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Popular posts from this blog

PHP code is not being executed, instead code shows on the page

Administrative divisions of China

Cardinality of the set of algorithms