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
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.
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