In addition of the major widget toolkits (GTK, Qt, WxWidgets) mentioned in Wyzard's answer you could also consider more media oriented libraries like SFML or libSDL. If you just want some graphical output (with almost no interaction) you might even consider CairoGraphics.
In some cases you might use, thru a pipe (e.g. popen) or on the command line, command utilities like GNUplot or GraphViz.
You could also consider using the graphical abilities of your browser, e.g. by coding some dedicated web application (using some HTTP server library like Wt or libonion, with web technologies like AJAX, SVG, HTML5, canvas, websockets, etc...)
But most terminal emulators have no or too little graphical abilities (so no genuine pixel graphics). So you practically need your program to interact with the display server (X11, Wayland, ...).
DEC GT40
would be useful, but it's too expensive... :-) – Ionică Bizău Jul 25 '14 at 06:57Terminology
, which supports extended escapes that enable you to mask out a map region of screen space then ask it to fill the region with an image, video, whatever that you specify. Different than w3m which calls X to draw to fb, I think, in this case the terminal does the drawing itself.xterm
implemented some similar features in change #305 June this year. – mikeserv Jul 26 '14 at 00:02