Before I got accustomed to gnuplot, I was most familiar with d3. I spent a lot of time prototyping different viz strategies for myself in d3. All I can say is, I was blind and now I see.
If you get a rush from piping massive csv files into sed/awk/grep/tr/cut, then into wc/sqlite3/[etc], and are at all interested in plotting visuals of the results for yourself, please do yourself a favor and spend 30 minutes riding the learning curve of this wonderful program. IME, the docs are wonderful and kind to beginners who aren't afraid to cmd+f for the bits they're interested in.
After a couple hours of fiddling, you'll find getting a first stab at a graph faster in gnuplot than in excel. Then, you'll wonder about all that time you could have been saving your whole life. Like any other cli tool, its language takes a bit of grokking, but you can institutionalize your knowledge in scripts and carry them with you the rest of your life. Seriously, try it out.
It depends on your use case. An obvious one is that gnuplot doesn’t require a web browser and a JavaScript VM, but I acknowledge this is irrelevant to some people.
gnuplot integrates seamlessly with a shell, so you can do all of your data transformation in awk/sed, and pipe the results into gnuplot. For d3, you’d need to load the data file, plot it, and then face the temptation of tweaking in JS vs tweaking the source data.
The first iteration of “I have a csv file” to “I have an interpretable graph” is very quick with gnuplot, which helps with prototyping and identifying systematic features of the data. You can squeeze d3 to get this, but you’d need to whip out a lot of boilerplate to get there. There are a bunch of frameworks built on d3 that promise this sort of experience, but if you want to end up with fine-grained control of the viz, you’ll need to drop down into d3 eventually.
You don’t have to know anything about HTML, the DOM or CSS to make a decent graph in gnuplot. Of course, if you’re skilled at these, you can make very nice interactive graphs in d3. Tangentially, I had a viz professor who would give any one who used interactivity to encode a dimension of information an immediate bias of -20%, because interactivity is more often a limiting element rather than a feature. :)
That being said if I wanted to build something productively interactive, I’d still reach for d3 over gnuplot.
Curious to hear others thoughts on your question, too!
If you get a rush from piping massive csv files into sed/awk/grep/tr/cut, then into wc/sqlite3/[etc], and are at all interested in plotting visuals of the results for yourself, please do yourself a favor and spend 30 minutes riding the learning curve of this wonderful program. IME, the docs are wonderful and kind to beginners who aren't afraid to cmd+f for the bits they're interested in.
After a couple hours of fiddling, you'll find getting a first stab at a graph faster in gnuplot than in excel. Then, you'll wonder about all that time you could have been saving your whole life. Like any other cli tool, its language takes a bit of grokking, but you can institutionalize your knowledge in scripts and carry them with you the rest of your life. Seriously, try it out.