A performance comparison would be good. I was trying to plot an audio file (say 1 million points - something that Matlab could easily handle) and totally failed to find a graphing library that didn't fail miserably on it.
Any libraries that are fast enough to do this are probably smoothing anyways - but I agree, the library should do that for you - rather than requiring additional user effort. Also not sure does e.g. matplotlib not do this?
Couldn't you just downsample the wave file?
I don't know why you are getting down voted. This is the correct answer; when a screen only has 1000 pixels of graph you can't plot more than 2000 points of time domain data, max and min of each column. As you zoom in resample for the correct range. Influxdb can help do this, very quickly. I can allow up to 200000 points of raw data before I need to do any pre-computation and still maintain a 100 ms charting latency target.
But then I can't see the original samples if I zoom in. Plus that is a workaround rather than a fix.
My Veusz package can handle that in a second or two if anti-aliasing is switched off. It takes a 1.5-2x longer with anti-aliasing on.