It depends on the context. Is this data being rendered as a PNG for use in a blog post? Or as an interactive application on a webpage?
For 2D time series, any 2D application is fine if the data is pre-processed, even Excel. For 2D plots in general, I'm more biased toward R and ggplot2, though (see my tutorial: http://minimaxir.com/2015/02/ggplot-tutorial/ ).
Graph data structures are a bit harder. I know Gephi is used for creating PNGs, but I have less experience with it.
For interactive web charts, you have to use libraries like d3.js or Highcharts, but I am not a fan for using interactive charts for static data unless necessary. (Mostly because they never play well with mobile devices without significant QA)