Port/Pkg For Generating Line Graphs


Aspiring Daemon

Reaction score: 260
Messages: 514

Does anyone have any recommendation for a port/pkg to generate multi-line graphs as png files from data stored in text files?

I can sort of do it with mrtg, but it is a bit limited.

Thank you.



Reaction score: 1,392
Messages: 2,439

I used gnuplot ages ago for my "Studienarbeit" (roughly comparable to a bachelor thesis, before Germany joined "Bologna"), to visualize data points from simulations. It's the de-facto standard tool for these things 👍


Son of Beastie

Reaction score: 2,297
Messages: 3,207

If by graphs you mean the thing that is typically used in the sciences, and that shows how one variable depends on another variable (for example temperature as a function of time-of-day), then gnuplot is the default free tool. It is somewhat inflexible, slow to use (you have to prepare input files in gnuplot format), hard to interface with existing data sources (you have to extract the data and convert it to gnuplot files), and the graphs end up looking pretty boring.

More modern tools exist. Jose pointed out the R language, which has a graphing tool built in. I happen to like Jupyter notebooks, which allow one to program in Python (with all the ease of accessing data sources from there), then use pandas / pyplot / matplotlib / numpy.

On the other hand, if by graphs you mean generic drawings (for example showing data structures like trees, or showing circuit diagrams with resistors and transistors), then the generic solution is dot. It is a generic language for putting graphical elements (markers, dots, lines, rectangles, circles ...) in particular places. Usually, dot files are written by other programs or scripts, which convert the raw data.


Well-Known Member

Reaction score: 195
Messages: 415



Aspiring Daemon

Reaction score: 260
Messages: 514

As advised, I am using gnuplot. It works, it does what I want and I got it there quickly.

The remainder of this thread, though amusing, seems to have rapidly gone into red shift.